summaryrefslogtreecommitdiff
path: root/Net
diff options
context:
space:
mode:
authordelano <delano.mandelbaum@gmail.com>2012-09-19 12:27:19 -0400
committerdelano <delano.mandelbaum@gmail.com>2012-09-19 12:27:19 -0400
commit91507078e50ff9712222a3e2865ee3f5f6954ad9 (patch)
treeda9f9ba07262d6941a6a74f5447dafdc95446f6b /Net
parente6002289f13528beeb8664076331b90455eb2f11 (diff)
downloadnet-ssh-91507078e50ff9712222a3e2865ee3f5f6954ad9.tar.gz
Updated docs
Diffstat (limited to 'Net')
-rw-r--r--Net/SSH.html961
-rw-r--r--Net/SSH/Authentication.html448
-rw-r--r--Net/SSH/Authentication/Agent.html836
-rw-r--r--Net/SSH/Authentication/Agent/Comment.html406
-rw-r--r--Net/SSH/Authentication/Agent/Key.html424
-rw-r--r--Net/SSH/Authentication/AgentError.html389
-rw-r--r--Net/SSH/Authentication/AgentNotAvailable.html390
-rw-r--r--Net/SSH/Authentication/Constants.html428
-rw-r--r--Net/SSH/Authentication/DisallowedMethod.html389
-rw-r--r--Net/SSH/Authentication/KeyManager.html960
-rw-r--r--Net/SSH/Authentication/KeyManagerError.html389
-rw-r--r--Net/SSH/Authentication/Methods.html409
-rw-r--r--Net/SSH/Authentication/Methods/Abstract.html626
-rw-r--r--Net/SSH/Authentication/Methods/Hostbased.html459
-rw-r--r--Net/SSH/Authentication/Methods/KeyboardInteractive.html516
-rw-r--r--Net/SSH/Authentication/Methods/Password.html462
-rw-r--r--Net/SSH/Authentication/Methods/Publickey.html448
-rw-r--r--Net/SSH/Authentication/Session.html720
-rw-r--r--Net/SSH/AuthenticationFailed.html390
-rw-r--r--Net/SSH/Buffer.html1847
-rw-r--r--Net/SSH/BufferedIo.html732
-rw-r--r--Net/SSH/ChannelOpenFailed.html481
-rw-r--r--Net/SSH/ChannelRequestFailed.html395
-rw-r--r--Net/SSH/Compat.html452
-rw-r--r--Net/SSH/Config.html726
-rw-r--r--Net/SSH/Connection.html404
-rw-r--r--Net/SSH/Connection/Channel.html1989
-rw-r--r--Net/SSH/Connection/Constants.html460
-rw-r--r--Net/SSH/Connection/Session.html1642
-rw-r--r--Net/SSH/Connection/Session/NilChannel.html477
-rw-r--r--Net/SSH/Connection/Term.html673
-rw-r--r--Net/SSH/ConnectionTimeout.html389
-rw-r--r--Net/SSH/Disconnect.html390
-rw-r--r--Net/SSH/Exception.html390
-rw-r--r--Net/SSH/ForwardedBufferedIo.html499
-rw-r--r--Net/SSH/HostKeyError.html674
-rw-r--r--Net/SSH/HostKeyMismatch.html393
-rw-r--r--Net/SSH/HostKeyUnknown.html393
-rw-r--r--Net/SSH/KeyFactory.html664
-rw-r--r--Net/SSH/KnownHosts.html773
-rw-r--r--Net/SSH/Loggable.html615
-rw-r--r--Net/SSH/Packet.html593
-rw-r--r--Net/SSH/PromptMethods.html399
-rw-r--r--Net/SSH/PromptMethods/Clear.html446
-rw-r--r--Net/SSH/PromptMethods/Highline.html435
-rw-r--r--Net/SSH/PromptMethods/Termios.html442
-rw-r--r--Net/SSH/Proxy.html413
-rw-r--r--Net/SSH/Proxy/Command.html565
-rw-r--r--Net/SSH/Proxy/ConnectError.html389
-rw-r--r--Net/SSH/Proxy/Error.html389
-rw-r--r--Net/SSH/Proxy/HTTP.html578
-rw-r--r--Net/SSH/Proxy/SOCKS4.html582
-rw-r--r--Net/SSH/Proxy/SOCKS5.html652
-rw-r--r--Net/SSH/Proxy/UnauthorizedError.html389
-rw-r--r--Net/SSH/Service.html389
-rw-r--r--Net/SSH/Service/Forward.html931
-rw-r--r--Net/SSH/Test.html685
-rw-r--r--Net/SSH/Test/Channel.html978
-rw-r--r--Net/SSH/Test/Extensions.html401
-rw-r--r--Net/SSH/Test/Extensions/BufferedIo.html512
-rw-r--r--Net/SSH/Test/Extensions/Channel.html437
-rw-r--r--Net/SSH/Test/Extensions/IO.html392
-rw-r--r--Net/SSH/Test/Extensions/IO/ClassMethods.html443
-rw-r--r--Net/SSH/Test/Extensions/PacketStream.html574
-rw-r--r--Net/SSH/Test/Kex.html508
-rw-r--r--Net/SSH/Test/LocalPacket.html565
-rw-r--r--Net/SSH/Test/Packet.html657
-rw-r--r--Net/SSH/Test/RemotePacket.html526
-rw-r--r--Net/SSH/Test/Script.html1015
-rw-r--r--Net/SSH/Test/Socket.html693
-rw-r--r--Net/SSH/Transport.html459
-rw-r--r--Net/SSH/Transport/Algorithms.html1000
-rw-r--r--Net/SSH/Transport/CTR.html514
-rw-r--r--Net/SSH/Transport/CipherFactory.html564
-rw-r--r--Net/SSH/Transport/Constants.html447
-rw-r--r--Net/SSH/Transport/HMAC.html548
-rw-r--r--Net/SSH/Transport/HMAC/Abstract.html774
-rw-r--r--Net/SSH/Transport/HMAC/MD5.html389
-rw-r--r--Net/SSH/Transport/HMAC/MD5_96.html390
-rw-r--r--Net/SSH/Transport/HMAC/None.html438
-rw-r--r--Net/SSH/Transport/HMAC/RIPEMD160.html390
-rw-r--r--Net/SSH/Transport/HMAC/SHA1.html391
-rw-r--r--Net/SSH/Transport/HMAC/SHA1_96.html390
-rw-r--r--Net/SSH/Transport/HMAC/SHA2_256.html390
-rw-r--r--Net/SSH/Transport/HMAC/SHA2_256_96.html390
-rw-r--r--Net/SSH/Transport/HMAC/SHA2_512.html390
-rw-r--r--Net/SSH/Transport/HMAC/SHA2_512_96.html390
-rw-r--r--Net/SSH/Transport/IdentityCipher.html721
-rw-r--r--Net/SSH/Transport/Kex.html436
-rw-r--r--Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html430
-rw-r--r--Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html668
-rw-r--r--Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html428
-rw-r--r--Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html441
-rw-r--r--Net/SSH/Transport/Kex/EcdhSHA2NistP256.html560
-rw-r--r--Net/SSH/Transport/Kex/EcdhSHA2NistP384.html474
-rw-r--r--Net/SSH/Transport/Kex/EcdhSHA2NistP521.html474
-rw-r--r--Net/SSH/Transport/KeyExpander.html445
-rw-r--r--Net/SSH/Transport/PacketStream.html1018
-rw-r--r--Net/SSH/Transport/ServerVersion.html520
-rw-r--r--Net/SSH/Transport/Session.html1324
-rw-r--r--Net/SSH/Transport/State.html1185
-rw-r--r--Net/SSH/Verifiers.html404
-rw-r--r--Net/SSH/Verifiers/Lenient.html445
-rw-r--r--Net/SSH/Verifiers/Null.html441
-rw-r--r--Net/SSH/Verifiers/Secure.html468
-rw-r--r--Net/SSH/Verifiers/Strict.html449
-rw-r--r--Net/SSH/Version.html703
107 files changed, 61774 insertions, 0 deletions
diff --git a/Net/SSH.html b/Net/SSH.html
new file mode 100644
index 0000000..cfac7f3
--- /dev/null
+++ b/Net/SSH.html
@@ -0,0 +1,961 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH</title>
+
+ <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../index.html">Home</a>
+ <a href="../index.html#classes">Classes</a>
+ <a href="../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../lib/net/ssh/authentication/agent/java_pageant_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/agent/java_pageant.rb">lib/net/ssh/authentication/agent/java_pageant.rb</a></li>
+
+ <li><a href="../lib/net/ssh/authentication/agent/socket_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/agent/socket.rb">lib/net/ssh/authentication/agent/socket.rb</a></li>
+
+ <li><a href="../lib/net/ssh/authentication/agent_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/agent.rb">lib/net/ssh/authentication/agent.rb</a></li>
+
+ <li><a href="../lib/net/ssh/authentication/constants_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/constants.rb">lib/net/ssh/authentication/constants.rb</a></li>
+
+ <li><a href="../lib/net/ssh/authentication/key_manager_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/key_manager.rb">lib/net/ssh/authentication/key_manager.rb</a></li>
+
+ <li><a href="../lib/net/ssh/authentication/methods/abstract_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/abstract.rb">lib/net/ssh/authentication/methods/abstract.rb</a></li>
+
+ <li><a href="../lib/net/ssh/authentication/methods/hostbased_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/hostbased.rb">lib/net/ssh/authentication/methods/hostbased.rb</a></li>
+
+ <li><a href="../lib/net/ssh/authentication/methods/keyboard_interactive_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/keyboard_interactive.rb">lib/net/ssh/authentication/methods/keyboard_interactive.rb</a></li>
+
+ <li><a href="../lib/net/ssh/authentication/methods/password_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/password.rb">lib/net/ssh/authentication/methods/password.rb</a></li>
+
+ <li><a href="../lib/net/ssh/authentication/methods/publickey_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/publickey.rb">lib/net/ssh/authentication/methods/publickey.rb</a></li>
+
+ <li><a href="../lib/net/ssh/authentication/session_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/session.rb">lib/net/ssh/authentication/session.rb</a></li>
+
+ <li><a href="../lib/net/ssh/buffer_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/buffer.rb">lib/net/ssh/buffer.rb</a></li>
+
+ <li><a href="../lib/net/ssh/buffered_io_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/buffered_io.rb">lib/net/ssh/buffered_io.rb</a></li>
+
+ <li><a href="../lib/net/ssh/config_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/config.rb">lib/net/ssh/config.rb</a></li>
+
+ <li><a href="../lib/net/ssh/connection/channel_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/connection/channel.rb">lib/net/ssh/connection/channel.rb</a></li>
+
+ <li><a href="../lib/net/ssh/connection/constants_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/connection/constants.rb">lib/net/ssh/connection/constants.rb</a></li>
+
+ <li><a href="../lib/net/ssh/connection/session_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/connection/session.rb">lib/net/ssh/connection/session.rb</a></li>
+
+ <li><a href="../lib/net/ssh/connection/term_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/connection/term.rb">lib/net/ssh/connection/term.rb</a></li>
+
+ <li><a href="../lib/net/ssh/errors_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/errors.rb">lib/net/ssh/errors.rb</a></li>
+
+ <li><a href="../lib/net/ssh/key_factory_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/key_factory.rb">lib/net/ssh/key_factory.rb</a></li>
+
+ <li><a href="../lib/net/ssh/known_hosts_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/known_hosts.rb">lib/net/ssh/known_hosts.rb</a></li>
+
+ <li><a href="../lib/net/ssh/loggable_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/loggable.rb">lib/net/ssh/loggable.rb</a></li>
+
+ <li><a href="../lib/net/ssh/packet_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/packet.rb">lib/net/ssh/packet.rb</a></li>
+
+ <li><a href="../lib/net/ssh/prompt_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/prompt.rb">lib/net/ssh/prompt.rb</a></li>
+
+ <li><a href="../lib/net/ssh/proxy/command_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/proxy/command.rb">lib/net/ssh/proxy/command.rb</a></li>
+
+ <li><a href="../lib/net/ssh/proxy/errors_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/proxy/errors.rb">lib/net/ssh/proxy/errors.rb</a></li>
+
+ <li><a href="../lib/net/ssh/proxy/http_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/proxy/http.rb">lib/net/ssh/proxy/http.rb</a></li>
+
+ <li><a href="../lib/net/ssh/proxy/socks4_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/proxy/socks4.rb">lib/net/ssh/proxy/socks4.rb</a></li>
+
+ <li><a href="../lib/net/ssh/proxy/socks5_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/proxy/socks5.rb">lib/net/ssh/proxy/socks5.rb</a></li>
+
+ <li><a href="../lib/net/ssh/ruby_compat_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/ruby_compat.rb">lib/net/ssh/ruby_compat.rb</a></li>
+
+ <li><a href="../lib/net/ssh/service/forward_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/service/forward.rb">lib/net/ssh/service/forward.rb</a></li>
+
+ <li><a href="../lib/net/ssh/test/channel_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/channel.rb">lib/net/ssh/test/channel.rb</a></li>
+
+ <li><a href="../lib/net/ssh/test/extensions_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/extensions.rb">lib/net/ssh/test/extensions.rb</a></li>
+
+ <li><a href="../lib/net/ssh/test/kex_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/kex.rb">lib/net/ssh/test/kex.rb</a></li>
+
+ <li><a href="../lib/net/ssh/test/local_packet_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/local_packet.rb">lib/net/ssh/test/local_packet.rb</a></li>
+
+ <li><a href="../lib/net/ssh/test/packet_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/packet.rb">lib/net/ssh/test/packet.rb</a></li>
+
+ <li><a href="../lib/net/ssh/test/remote_packet_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/remote_packet.rb">lib/net/ssh/test/remote_packet.rb</a></li>
+
+ <li><a href="../lib/net/ssh/test/script_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/script.rb">lib/net/ssh/test/script.rb</a></li>
+
+ <li><a href="../lib/net/ssh/test/socket_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/socket.rb">lib/net/ssh/test/socket.rb</a></li>
+
+ <li><a href="../lib/net/ssh/test_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test.rb">lib/net/ssh/test.rb</a></li>
+
+ <li><a href="../lib/net/ssh/transport/algorithms_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/algorithms.rb">lib/net/ssh/transport/algorithms.rb</a></li>
+
+ <li><a href="../lib/net/ssh/transport/cipher_factory_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/cipher_factory.rb">lib/net/ssh/transport/cipher_factory.rb</a></li>
+
+ <li><a href="../lib/net/ssh/transport/constants_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/constants.rb">lib/net/ssh/transport/constants.rb</a></li>
+
+ <li><a href="../lib/net/ssh/transport/hmac/abstract_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/abstract.rb">lib/net/ssh/transport/hmac/abstract.rb</a></li>
+
+ <li><a href="../lib/net/ssh/transport/identity_cipher_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/identity_cipher.rb">lib/net/ssh/transport/identity_cipher.rb</a></li>
+
+ <li><a href="../lib/net/ssh/transport/kex/diffie_hellman_group14_sha1_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb">lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb</a></li>
+
+ <li><a href="../lib/net/ssh/transport/kex/diffie_hellman_group1_sha1_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb">lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb</a></li>
+
+ <li><a href="../lib/net/ssh/transport/kex/ecdh_sha2_nistp256_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb">lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb</a></li>
+
+ <li><a href="../lib/net/ssh/transport/kex/ecdh_sha2_nistp384_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb">lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb</a></li>
+
+ <li><a href="../lib/net/ssh/transport/kex/ecdh_sha2_nistp521_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb">lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb</a></li>
+
+ <li><a href="../lib/net/ssh/transport/key_expander_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/key_expander.rb">lib/net/ssh/transport/key_expander.rb</a></li>
+
+ <li><a href="../lib/net/ssh/transport/packet_stream_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/packet_stream.rb">lib/net/ssh/transport/packet_stream.rb</a></li>
+
+ <li><a href="../lib/net/ssh/transport/server_version_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/server_version.rb">lib/net/ssh/transport/server_version.rb</a></li>
+
+ <li><a href="../lib/net/ssh/transport/session_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/session.rb">lib/net/ssh/transport/session.rb</a></li>
+
+ <li><a href="../lib/net/ssh/transport/state_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/state.rb">lib/net/ssh/transport/state.rb</a></li>
+
+ <li><a href="../lib/net/ssh/verifiers/lenient_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/verifiers/lenient.rb">lib/net/ssh/verifiers/lenient.rb</a></li>
+
+ <li><a href="../lib/net/ssh/verifiers/null_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/verifiers/null.rb">lib/net/ssh/verifiers/null.rb</a></li>
+
+ <li><a href="../lib/net/ssh/verifiers/secure_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/verifiers/secure.rb">lib/net/ssh/verifiers/secure.rb</a></li>
+
+ <li><a href="../lib/net/ssh/verifiers/strict_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/verifiers/strict.rb">lib/net/ssh/verifiers/strict.rb</a></li>
+
+ <li><a href="../lib/net/ssh/version_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/version.rb">lib/net/ssh/version.rb</a></li>
+
+ <li><a href="../lib/net/ssh_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh.rb">lib/net/ssh.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+ <!-- Namespace Contents -->
+ <div id="namespace-list-section" class="section">
+ <h3 class="section-header">Namespace</h3>
+ <ul class="link-list">
+
+ <li><span class="type">MODULE</span> <a href="SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><span class="type">MODULE</span> <a href="SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><span class="type">MODULE</span> <a href="SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><span class="type">MODULE</span> <a href="SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><span class="type">MODULE</span> <a href="SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><span class="type">MODULE</span> <a href="SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><span class="type">MODULE</span> <a href="SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><span class="type">MODULE</span> <a href="SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><span class="type">MODULE</span> <a href="SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><span class="type">MODULE</span> <a href="SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><span class="type">MODULE</span> <a href="SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><span class="type">CLASS</span> <a href="SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><span class="type">CLASS</span> <a href="SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><span class="type">CLASS</span> <a href="SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><span class="type">CLASS</span> <a href="SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><span class="type">CLASS</span> <a href="SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><span class="type">CLASS</span> <a href="SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><span class="type">CLASS</span> <a href="SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><span class="type">CLASS</span> <a href="SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><span class="type">CLASS</span> <a href="SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><span class="type">CLASS</span> <a href="SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><span class="type">CLASS</span> <a href="SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><span class="type">CLASS</span> <a href="SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><span class="type">CLASS</span> <a href="SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><span class="type">CLASS</span> <a href="SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><span class="type">CLASS</span> <a href="SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><span class="type">CLASS</span> <a href="SSH/Version.html">Net::SSH::Version</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-configuration_for">::configuration_for</a></li>
+
+ <li><a href="#method-c-start">::start</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../Net.html">Net</a></li>
+
+ <li><a href="../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH</h1>
+
+ <div id="description" class="description">
+
+<p><a href="SSH.html">Net::SSH</a> is a library for interacting,
+programmatically, with remote processes via the SSH2 protocol. Sessions are
+always initiated via <a href="SSH.html#method-c-start">Net::SSH.start</a>.
+From there, a program interacts with the new <a href="SSH.html">SSH</a>
+session via the convenience methods on <a
+href="SSH/Connection/Session.html">Net::SSH::Connection::Session</a>, by
+opening and interacting with new channels
+(Net::SSH::Connection:Session#open_channel and <a
+href="SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a>), or
+by forwarding local and/or remote ports through the connection (<a
+href="SSH/Service/Forward.html">Net::SSH::Service::Forward</a>).</p>
+
+<p>The <a href="SSH.html">SSH</a> protocol is very event-oriented. Requests
+are sent from the client to the server, and are answered asynchronously.
+This gives great flexibility (since clients can have multiple requests
+pending at a time), but it also adds complexity. <a
+href="SSH.html">Net::SSH</a> tries to manage this complexity by providing
+some simpler methods of synchronous communication (see <a
+href="SSH/Connection/Session.html#method-i-exec-21">Net::SSH::Connection::Session#exec!</a>).</p>
+
+<p>In general, though, and if you want to do anything more complicated than
+simply executing commands and capturing their output, you’ll need to use
+channels (<a
+href="SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a>) to
+build state machines that are executed while the event loop runs (<a
+href="SSH/Connection/Session.html#method-i-loop">Net::SSH::Connection::Session#loop</a>).</p>
+
+<p><a href="SSH/Connection/Session.html">Net::SSH::Connection::Session</a> and
+<a href="SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a>
+have more information about this technique.</p>
+
+<h1>“Um, all I want to do is X, just show me how!”</h1>
+
+<h2>X == “execute a command and capture the output”</h2>
+
+<pre>Net::SSH.start(&quot;host&quot;, &quot;user&quot;, :password =&gt; &quot;password&quot;) do |ssh|
+ result = ssh.exec!(&quot;ls -l&quot;)
+ puts result
+end</pre>
+
+<h2>X == “forward connections on a local port to a remote host”</h2>
+
+<pre>Net::SSH.start(&quot;host&quot;, &quot;user&quot;, :password =&gt; &quot;password&quot;) do |ssh|
+ ssh.forward.local(1234, &quot;www.google.com&quot;, 80)
+ ssh.loop { true }
+end</pre>
+
+<h2>X == “forward connections on a remote port to the local host”</h2>
+
+<pre>Net::SSH.start(&quot;host&quot;, &quot;user&quot;, :password =&gt; &quot;password&quot;) do |ssh|
+ ssh.forward.remote(80, &quot;www.google.com&quot;, 1234)
+ ssh.loop { true }
+end</pre>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="Prompt">Prompt</a></dt>
+
+ <dd class="description"><p>Try to load Highline and Termios in turn, selecting the corresponding <a
+href="SSH/PromptMethods.html">PromptMethods</a> module to use. If neither
+are available, choose <a
+href="SSH/PromptMethods/Clear.html">PromptMethods::Clear</a>.</p></dd>
+
+
+ <dt><a name="VALID_OPTIONS">VALID_OPTIONS</a></dt>
+
+ <dd class="description"><p>This is the set of options that <a
+href="SSH.html#method-c-start">Net::SSH.start</a> recognizes. See <a
+href="SSH.html#method-c-start">Net::SSH.start</a> for a description of each
+option.</p></dd>
+
+
+ </dl>
+ </div>
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="configuration_for-method" class="method-detail ">
+ <a name="method-c-configuration_for"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">configuration_for</span><span
+ class="method-args">(host, use_ssh_config=true)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns a hash of the configuration options for the given host, as read
+from the <a href="SSH.html">SSH</a> configuration file(s). If
+<tt>use_ssh_config</tt> is true (the default), this will load configuration
+from both ~/.ssh/config and /etc/ssh_config. If <tt>use_ssh_config</tt> is
+nil or false, nothing will be loaded (and an empty hash returned).
+Otherwise, <tt>use_ssh_config</tt> may be a file name (or array of file
+names) of <a href="SSH.html">SSH</a> configuration file(s) to read.</p>
+
+<p>See <a href="SSH/Config.html">Net::SSH::Config</a> for the full description
+of all supported options.</p>
+
+
+
+ <div class="method-source-code" id="configuration_for-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh.rb, line 213</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">configuration_for</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">use_ssh_config</span>=<span class="ruby-keyword">true</span>)
+ <span class="ruby-identifier">files</span> = <span class="ruby-keyword">case</span> <span class="ruby-identifier">use_ssh_config</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">then</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Config</span>.<span class="ruby-identifier">default_files</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-keyword">false</span>, <span class="ruby-keyword">nil</span> <span class="ruby-keyword">then</span> <span class="ruby-keyword">return</span> {}
+ <span class="ruby-keyword">else</span> <span class="ruby-constant">Array</span>(<span class="ruby-identifier">use_ssh_config</span>)
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Config</span>.<span class="ruby-identifier">for</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">files</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- configuration_for-source -->
+
+ </div>
+
+
+
+
+ </div><!-- configuration_for-method -->
+
+
+ <div id="start-method" class="method-detail ">
+ <a name="method-c-start"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">start</span><span
+ class="method-args">(host, user, options={}, &block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>The standard means of starting a new <a href="SSH.html">SSH</a> connection.
+When used with a block, the connection will be closed when the block
+terminates, otherwise the connection will just be returned. The yielded (or
+returned) value will be an instance of <a
+href="SSH/Connection/Session.html">Net::SSH::Connection::Session</a>
+(q.v.). (See also <a
+href="SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a> and <a
+href="SSH/Service/Forward.html">Net::SSH::Service::Forward</a>.)</p>
+
+<pre>Net::SSH.start(&quot;host&quot;, &quot;user&quot;) do |ssh|
+ ssh.exec! &quot;cp /some/file /another/location&quot;
+ hostname = ssh.exec!(&quot;hostname&quot;)
+
+ ssh.open_channel do |ch|
+ ch.exec &quot;sudo -p 'sudo password: ' ls&quot; do |ch, success|
+ abort &quot;could not execute sudo ls&quot; unless success
+
+ ch.on_data do |ch, data|
+ print data
+ if data =~ /sudo password: /
+ ch.send_data(&quot;password\n&quot;)
+ end
+ end
+ end
+ end
+
+ ssh.loop
+end</pre>
+
+<p>This method accepts the following options (all are optional):</p>
+<ul><li>
+<p>:auth_methods =&gt; an array of authentication methods to try</p>
+</li><li>
+<p>:bind_address =&gt; the IP address on the connecting machine to use in
+establishing connection. (:bind_address is discarded if :proxy is set.)</p>
+</li><li>
+<p>:compression =&gt; the compression algorithm to use, or <tt>true</tt> to
+use whatever is supported.</p>
+</li><li>
+<p>:compression_level =&gt; the compression level to use when sending data</p>
+</li><li>
+<p>:config =&gt; set to <tt>true</tt> to load the default OpenSSH config files
+(~/.ssh/config, /etc/ssh_config), or to <tt>false</tt> to not load them, or
+to a file-name (or array of file-names) to load those specific
+configuration files. Defaults to <tt>true</tt>.</p>
+</li><li>
+<p>:encryption =&gt; the encryption cipher (or ciphers) to use</p>
+</li><li>
+<p>:forward_agent =&gt; set to true if you want the <a href="SSH.html">SSH</a>
+agent connection to be forwarded</p>
+</li><li>
+<p>:global_known_hosts_file =&gt; the location of the global known hosts file.
+Set to an array if you want to specify multiple global known hosts files.
+Defaults to %w(/etc/ssh/known_hosts /etc/ssh/known_hosts2).</p>
+</li><li>
+<p>:hmac =&gt; the hmac algorithm (or algorithms) to use</p>
+</li><li>
+<p>:host_key =&gt; the host key algorithm (or algorithms) to use</p>
+</li><li>
+<p>:host_key_alias =&gt; the host name to use when looking up or adding a host
+to a known_hosts dictionary file</p>
+</li><li>
+<p>:host_name =&gt; the real host name or IP to log into. This is used instead
+of the <tt>host</tt> parameter, and is primarily only useful when specified
+in an <a href="SSH.html">SSH</a> configuration file. It lets you specify an
+“alias”, similarly to adding an entry in /etc/hosts but without needing to
+modify /etc/hosts.</p>
+</li><li>
+<p>:kex =&gt; the key exchange algorithm (or algorithms) to use</p>
+</li><li>
+<p>:keys =&gt; an array of file names of private keys to use for publickey and
+hostbased authentication</p>
+</li><li>
+<p>:key_data =&gt; an array of strings, with each element of the array being a
+raw private key in PEM format.</p>
+</li><li>
+<p>:keys_only =&gt; set to <tt>true</tt> to use only private keys from
+<tt>keys</tt> and <tt>key_data</tt> parameters, even if ssh-agent offers
+more identities. This option is intended for situations where ssh-agent
+offers many different identites.</p>
+</li><li>
+<p>:logger =&gt; the logger instance to use when logging</p>
+</li><li>
+<p>:paranoid =&gt; either false, true, :very, or :secure specifying how strict
+host-key verification should be (in increasing order here)</p>
+</li><li>
+<p>:passphrase =&gt; the passphrase to use when loading a private key (default
+is <tt>nil</tt>, for no passphrase)</p>
+</li><li>
+<p>:password =&gt; the password to use to login</p>
+</li><li>
+<p>:port =&gt; the port to use when connecting to the remote host</p>
+</li><li>
+<p>:properties =&gt; a hash of key/value pairs to add to the new connection’s
+properties (see <a
+href="SSH/Connection/Session.html#attribute-i-properties">Net::SSH::Connection::Session#properties</a>)</p>
+</li><li>
+<p>:proxy =&gt; a proxy instance (see <a href="SSH/Proxy.html">Proxy</a>) to
+use when connecting</p>
+</li><li>
+<p>:rekey_blocks_limit =&gt; the max number of blocks to process before
+rekeying</p>
+</li><li>
+<p>:rekey_limit =&gt; the max number of bytes to process before rekeying</p>
+</li><li>
+<p>:rekey_packet_limit =&gt; the max number of packets to process before
+rekeying</p>
+</li><li>
+<p>:timeout =&gt; how long to wait for the initial connection to be made</p>
+</li><li>
+<p>:user =&gt; the user name to log in as; this overrides the <tt>user</tt>
+parameter, and is primarily only useful when provided via an <a
+href="SSH.html">SSH</a> configuration file.</p>
+</li><li>
+<p>:user_known_hosts_file =&gt; the location of the user known hosts file. Set
+to an array to specify multiple user known hosts files. Defaults to
+%w(~/.ssh/known_hosts ~/.ssh/known_hosts2).</p>
+</li><li>
+<p>:verbose =&gt; how verbose to be (Logger verbosity constants, Logger::DEBUG
+is very verbose, Logger::FATAL is all but silent). Logger::FATAL is the
+default. The symbols :debug, :info, :warn, :error, and :fatal are also
+supported and are translated to the corresponding Logger constant.</p>
+</li></ul>
+
+
+
+ <div class="method-source-code" id="start-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh.rb, line 159</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">start</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">user</span>, <span class="ruby-identifier">options</span>={}, &amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">invalid_options</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">keys</span> <span class="ruby-operator">-</span> <span class="ruby-constant">VALID_OPTIONS</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">invalid_options</span>.<span class="ruby-identifier">any?</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;invalid option(s): #{invalid_options.join(', ')}&quot;</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">options</span>[<span class="ruby-value">:user</span>] = <span class="ruby-identifier">user</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">user</span>
+ <span class="ruby-identifier">options</span> = <span class="ruby-identifier">configuration_for</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">options</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:config</span>, <span class="ruby-keyword">true</span>)).<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">options</span>)
+ <span class="ruby-identifier">host</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:host_name</span>, <span class="ruby-identifier">host</span>)
+
+ <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">options</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:logger</span>)
+ <span class="ruby-identifier">options</span>[<span class="ruby-value">:logger</span>] = <span class="ruby-constant">Logger</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">STDERR</span>)
+ <span class="ruby-identifier">options</span>[<span class="ruby-value">:logger</span>].<span class="ruby-identifier">level</span> = <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">FATAL</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:verbose</span>]
+ <span class="ruby-identifier">options</span>[<span class="ruby-value">:logger</span>].<span class="ruby-identifier">level</span> = <span class="ruby-keyword">case</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:verbose</span>]
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">Fixnum</span> <span class="ruby-keyword">then</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:verbose</span>]
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:debug</span> <span class="ruby-keyword">then</span> <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:info</span> <span class="ruby-keyword">then</span> <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">INFO</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:warn</span> <span class="ruby-keyword">then</span> <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">WARN</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:error</span> <span class="ruby-keyword">then</span> <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">ERROR</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:fatal</span> <span class="ruby-keyword">then</span> <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">FATAL</span>
+ <span class="ruby-keyword">else</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;can't convert #{options[:verbose].inspect} to any of the Logger level constants&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">transport</span> = <span class="ruby-constant">Transport</span><span class="ruby-operator">::</span><span class="ruby-constant">Session</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">options</span>)
+ <span class="ruby-identifier">auth</span> = <span class="ruby-constant">Authentication</span><span class="ruby-operator">::</span><span class="ruby-constant">Session</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">transport</span>, <span class="ruby-identifier">options</span>)
+
+ <span class="ruby-identifier">user</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:user</span>, <span class="ruby-identifier">user</span>)
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">auth</span>.<span class="ruby-identifier">authenticate</span>(<span class="ruby-string">&quot;ssh-connection&quot;</span>, <span class="ruby-identifier">user</span>, <span class="ruby-identifier">options</span>[<span class="ruby-value">:password</span>])
+ <span class="ruby-identifier">connection</span> = <span class="ruby-constant">Connection</span><span class="ruby-operator">::</span><span class="ruby-constant">Session</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">transport</span>, <span class="ruby-identifier">options</span>)
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
+ <span class="ruby-keyword">yield</span> <span class="ruby-identifier">connection</span>
+ <span class="ruby-identifier">connection</span>.<span class="ruby-identifier">close</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">connection</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">transport</span>.<span class="ruby-identifier">close</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">AuthenticationFailed</span>, <span class="ruby-identifier">user</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- start-source -->
+
+ </div>
+
+
+
+
+ </div><!-- start-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Authentication.html b/Net/SSH/Authentication.html
new file mode 100644
index 0000000..378664a
--- /dev/null
+++ b/Net/SSH/Authentication.html
@@ -0,0 +1,448 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Authentication</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/authentication/agent/java_pageant_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/agent/java_pageant.rb">lib/net/ssh/authentication/agent/java_pageant.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/authentication/agent/socket_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/agent/socket.rb">lib/net/ssh/authentication/agent/socket.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/authentication/agent_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/agent.rb">lib/net/ssh/authentication/agent.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/authentication/constants_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/constants.rb">lib/net/ssh/authentication/constants.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/authentication/key_manager_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/key_manager.rb">lib/net/ssh/authentication/key_manager.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/authentication/methods/abstract_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/abstract.rb">lib/net/ssh/authentication/methods/abstract.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/authentication/methods/hostbased_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/hostbased.rb">lib/net/ssh/authentication/methods/hostbased.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/authentication/methods/keyboard_interactive_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/keyboard_interactive.rb">lib/net/ssh/authentication/methods/keyboard_interactive.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/authentication/methods/password_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/password.rb">lib/net/ssh/authentication/methods/password.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/authentication/methods/publickey_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/publickey.rb">lib/net/ssh/authentication/methods/publickey.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/authentication/session_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/session.rb">lib/net/ssh/authentication/session.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+ <!-- Namespace Contents -->
+ <div id="namespace-list-section" class="section">
+ <h3 class="section-header">Namespace</h3>
+ <ul class="link-list">
+
+ <li><span class="type">MODULE</span> <a href="Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><span class="type">MODULE</span> <a href="Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ </ul>
+ </div>
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Authentication</h1>
+
+ <div id="description" class="description">
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="PLATFORM">PLATFORM</a></dt>
+
+ <dd class="description"></dd>
+
+
+ </dl>
+ </div>
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Authentication/Agent.html b/Net/SSH/Authentication/Agent.html
new file mode 100644
index 0000000..37c5633
--- /dev/null
+++ b/Net/SSH/Authentication/Agent.html
@@ -0,0 +1,836 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Authentication::Agent</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/authentication/agent/java_pageant_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/agent/java_pageant.rb">lib/net/ssh/authentication/agent/java_pageant.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/authentication/agent/socket_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/agent/socket.rb">lib/net/ssh/authentication/agent/socket.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+ <!-- Namespace Contents -->
+ <div id="namespace-list-section" class="section">
+ <h3 class="section-header">Namespace</h3>
+ <ul class="link-list">
+
+ <li><span class="type">MODULE</span> <a href="Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><span class="type">MODULE</span> <a href="Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-connect">::connect</a></li>
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-close">#close</a></li>
+
+ <li><a href="#method-i-connect-21">#connect!</a></li>
+
+ <li><a href="#method-i-identities">#identities</a></li>
+
+ <li><a href="#method-i-negotiate-21">#negotiate!</a></li>
+
+ <li><a href="#method-i-sign">#sign</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="../Loggable.html">Net::SSH::Loggable</a></li>
+
+
+
+ <li><span class="include">JRubyPageant</span></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Authentication::Agent</h1>
+
+ <div id="description" class="description">
+
+<p>This class implements an agent for JRuby + Pageant.</p>
+
+<p>Written by Artūras Šlajus &lt;arturas.slajus@gmail.com&gt;</p>
+<hr style="height: 1px">
+
+<p>This class implements a simple client for the ssh-agent protocol. It does
+not implement any specific protocol, but instead copies the behavior of the
+ssh-agent functions in the OpenSSH library (3.8).</p>
+
+<p>This means that although it behaves like a SSH1 client, it also has some
+SSH2 functionality (like signing data).</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="SSH2_AGENT_FAILURE">SSH2_AGENT_FAILURE</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="SSH2_AGENT_IDENTITIES_ANSWER">SSH2_AGENT_IDENTITIES_ANSWER</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="SSH2_AGENT_REQUEST_IDENTITIES">SSH2_AGENT_REQUEST_IDENTITIES</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="SSH2_AGENT_REQUEST_VERSION">SSH2_AGENT_REQUEST_VERSION</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="SSH2_AGENT_SIGN_REQUEST">SSH2_AGENT_SIGN_REQUEST</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="SSH2_AGENT_SIGN_RESPONSE">SSH2_AGENT_SIGN_RESPONSE</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="SSH2_AGENT_VERSION_RESPONSE">SSH2_AGENT_VERSION_RESPONSE</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="SSH_AGENT_FAILURE">SSH_AGENT_FAILURE</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="SSH_AGENT_REQUEST_RSA_IDENTITIES">SSH_AGENT_REQUEST_RSA_IDENTITIES</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="SSH_AGENT_RSA_IDENTITIES_ANSWER1">SSH_AGENT_RSA_IDENTITIES_ANSWER1</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="SSH_AGENT_RSA_IDENTITIES_ANSWER2">SSH_AGENT_RSA_IDENTITIES_ANSWER2</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="SSH_COM_AGENT2_FAILURE">SSH_COM_AGENT2_FAILURE</a></dt>
+
+ <dd class="description"></dd>
+
+
+ </dl>
+ </div>
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="socket-attribute-method" class="method-detail">
+ <a name="socket"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">socket</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The underlying <a href="Agent.html#attribute-i-socket">socket</a> being
+used to communicate with the <a href="../../SSH.html">SSH</a> agent.</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="connect-method" class="method-detail ">
+ <a name="method-c-connect"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">connect</span><span
+ class="method-args">(logger=nil)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Instantiates a <a href="Agent.html#method-c-new">new</a> agent object,
+connects to a running <a href="../../SSH.html">SSH</a> agent, negotiates
+the agent protocol version, and returns the agent object.</p>
+
+
+
+ <div class="method-source-code" id="connect-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/agent/java_pageant.rb, line 22</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">connect</span>(<span class="ruby-identifier">logger</span>=<span class="ruby-keyword">nil</span>)
+ <span class="ruby-identifier">agent</span> = <span class="ruby-identifier">new</span>(<span class="ruby-identifier">logger</span>)
+ <span class="ruby-identifier">agent</span>.<span class="ruby-identifier">connect!</span>
+ <span class="ruby-identifier">agent</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- connect-source -->
+
+ </div>
+
+
+
+
+ </div><!-- connect-method -->
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(logger=nil)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Creates a <a href="Agent.html#method-c-new">new</a> <a
+href="Agent.html">Agent</a> object, using the optional logger instance to
+report status.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/agent/java_pageant.rb, line 30</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">logger</span>=<span class="ruby-keyword">nil</span>)
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">logger</span> = <span class="ruby-identifier">logger</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="close-method" class="method-detail ">
+ <a name="method-i-close"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">close</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Simulate agent <a href="Agent.html#method-i-close">close</a>. This agent
+reference is no longer able to query the agent.</p>
+
+
+
+ <div class="method-source-code" id="close-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/agent/java_pageant.rb, line 69</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">close</span>
+ <span class="ruby-ivar">@agent_proxy</span> = <span class="ruby-keyword">nil</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- close-source -->
+
+ </div>
+
+
+
+
+ </div><!-- close-method -->
+
+
+ <div id="connect-21-method" class="method-detail ">
+ <a name="method-i-connect-21"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">connect!</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Connect to the agent process using the <a
+href="Agent.html#attribute-i-socket">socket</a> factory and <a
+href="Agent.html#attribute-i-socket">socket</a> name given by the attribute
+writers. If the agent on the other end of the <a
+href="Agent.html#attribute-i-socket">socket</a> reports that it is an
+SSH2-compatible agent, this will fail (it only supports the ssh-agent
+distributed by OpenSSH).</p>
+
+
+
+ <div class="method-source-code" id="connect-21-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/agent/java_pageant.rb, line 38</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">connect!</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-string">&quot;connecting to Pageant ssh-agent (via java connector)&quot;</span> }
+ <span class="ruby-ivar">@agent_proxy</span> = <span class="ruby-constant">JRubyPageant</span>.<span class="ruby-identifier">create</span>
+ <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@agent_proxy</span>.<span class="ruby-identifier">is_running</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">AgentNotAvailable</span>, <span class="ruby-string">&quot;Pageant is not running!&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-string">&quot;connection to Pageant ssh-agent (via java connector) succeeded&quot;</span> }
+<span class="ruby-keyword">rescue</span> <span class="ruby-constant">AgentProxyException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
+ <span class="ruby-identifier">error</span> { <span class="ruby-string">&quot;could not connect to Pageant ssh-agent (via java connector)&quot;</span> }
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">AgentNotAvailable</span>, <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>, <span class="ruby-identifier">e</span>.<span class="ruby-identifier">backtrace</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- connect-21-source -->
+
+ </div>
+
+
+
+
+ </div><!-- connect-21-method -->
+
+
+ <div id="identities-method" class="method-detail ">
+ <a name="method-i-identities"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">identities</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Return an array of all <a
+href="Agent.html#method-i-identities">identities</a> (public keys) known to
+the agent. Each key returned is augmented with a <tt>comment</tt> property
+which is set to the comment returned by the agent for that key.</p>
+
+
+
+ <div class="method-source-code" id="identities-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/agent/java_pageant.rb, line 53</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">identities</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-string">&quot;getting identities from Pageant&quot;</span> }
+ <span class="ruby-ivar">@agent_proxy</span>.<span class="ruby-identifier">get_identities</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">identity</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">blob</span> = <span class="ruby-identifier">identity</span>.<span class="ruby-identifier">get_blob</span>
+ <span class="ruby-identifier">key</span> = <span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">String</span>.<span class="ruby-identifier">from_java_bytes</span>(<span class="ruby-identifier">blob</span>)).<span class="ruby-identifier">read_key</span>
+ <span class="ruby-identifier">key</span>.<span class="ruby-identifier">extend</span>(<span class="ruby-constant">Key</span>)
+ <span class="ruby-identifier">key</span>.<span class="ruby-identifier">java_blob</span> = <span class="ruby-identifier">blob</span>
+ <span class="ruby-identifier">key</span>.<span class="ruby-identifier">comment</span> = <span class="ruby-constant">String</span>.<span class="ruby-identifier">from_java_bytes</span>(<span class="ruby-identifier">identity</span>.<span class="ruby-identifier">get_comment</span>)
+ <span class="ruby-identifier">key</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">rescue</span> <span class="ruby-constant">AgentProxyException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">AgentError</span>, <span class="ruby-node">&quot;Cannot get identities: #{e.message}&quot;</span>, <span class="ruby-identifier">e</span>.<span class="ruby-identifier">backtrace</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- identities-source -->
+
+ </div>
+
+
+
+
+ </div><!-- identities-method -->
+
+
+ <div id="negotiate-21-method" class="method-detail ">
+ <a name="method-i-negotiate-21"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">negotiate!</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Attempts to negotiate the <a href="../../SSH.html">SSH</a> agent protocol
+version. Raises an error if the version could not be negotiated
+successfully.</p>
+
+
+
+ <div class="method-source-code" id="negotiate-21-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/agent/socket.rb, line 74</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">negotiate!</span>
+ <span class="ruby-comment"># determine what type of agent we're communicating with</span>
+ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">body</span> = <span class="ruby-identifier">send_and_wait</span>(<span class="ruby-constant">SSH2_AGENT_REQUEST_VERSION</span>, <span class="ruby-value">:string</span>, <span class="ruby-constant">Transport</span><span class="ruby-operator">::</span><span class="ruby-constant">ServerVersion</span><span class="ruby-operator">::</span><span class="ruby-constant">PROTO_VERSION</span>)
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">SSH2_AGENT_VERSION_RESPONSE</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>, <span class="ruby-string">&quot;SSH2 agents are not yet supported&quot;</span>
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">SSH_AGENT_RSA_IDENTITIES_ANSWER1</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">SSH_AGENT_RSA_IDENTITIES_ANSWER2</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">AgentError</span>, <span class="ruby-node">&quot;unknown response from agent: #{type}, #{body.to_s.inspect}&quot;</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- negotiate-21-source -->
+
+ </div>
+
+
+
+
+ </div><!-- negotiate-21-method -->
+
+
+ <div id="sign-method" class="method-detail ">
+ <a name="method-i-sign"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">sign</span><span
+ class="method-args">(key, data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Using the agent and the given public key, <a
+href="Agent.html#method-i-sign">sign</a> the given data. The signature is
+returned in SSH2 format.</p>
+
+
+
+ <div class="method-source-code" id="sign-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/agent/java_pageant.rb, line 75</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">sign</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">data</span>)
+ <span class="ruby-identifier">signed</span> = <span class="ruby-ivar">@agent_proxy</span>.<span class="ruby-identifier">sign</span>(<span class="ruby-identifier">key</span>.<span class="ruby-identifier">java_blob</span>, <span class="ruby-identifier">data</span>.<span class="ruby-identifier">to_java_bytes</span>)
+ <span class="ruby-constant">String</span>.<span class="ruby-identifier">from_java_bytes</span>(<span class="ruby-identifier">signed</span>)
+<span class="ruby-keyword">rescue</span> <span class="ruby-constant">AgentProxyException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">AgentError</span>,
+ <span class="ruby-node">&quot;agent could not sign data with requested identity: #{e.message}&quot;</span>,
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">backtrace</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- sign-source -->
+
+ </div>
+
+
+
+
+ </div><!-- sign-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Authentication/Agent/Comment.html b/Net/SSH/Authentication/Agent/Comment.html
new file mode 100644
index 0000000..8775834
--- /dev/null
+++ b/Net/SSH/Authentication/Agent/Comment.html
@@ -0,0 +1,406 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Authentication::Agent::Comment</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/authentication/agent/socket_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/agent/socket.rb">lib/net/ssh/authentication/agent/socket.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Authentication::Agent::Comment</h1>
+
+ <div id="description" class="description">
+
+<p>A simple module for extending keys, to allow comments to be specified for
+them.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="comment-attribute-method" class="method-detail">
+ <a name="comment"></a>
+
+ <a name="comment="></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">comment</span><span
+ class="attribute-access-type">[RW]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Authentication/Agent/Key.html b/Net/SSH/Authentication/Agent/Key.html
new file mode 100644
index 0000000..8b00bc5
--- /dev/null
+++ b/Net/SSH/Authentication/Agent/Key.html
@@ -0,0 +1,424 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Authentication::Agent::Key</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/authentication/agent/java_pageant_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/agent/java_pageant.rb">lib/net/ssh/authentication/agent/java_pageant.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Authentication::Agent::Key</h1>
+
+ <div id="description" class="description">
+
+<p>A simple module for extending keys, to allow blobs and comments to be
+specified for them.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="comment-attribute-method" class="method-detail">
+ <a name="comment"></a>
+
+ <a name="comment="></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">comment</span><span
+ class="attribute-access-type">[RW]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
+ <div id="java_blob-attribute-method" class="method-detail">
+ <a name="java_blob"></a>
+
+ <a name="java_blob="></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">java_blob</span><span
+ class="attribute-access-type">[RW]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>:blob is used by <a
+href="../../../../OpenSSL/PKey/RSA.html#method-i-to_blob">OpenSSL::PKey::RSA#to_blob</a></p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Authentication/AgentError.html b/Net/SSH/Authentication/AgentError.html
new file mode 100644
index 0000000..6ceb015
--- /dev/null
+++ b/Net/SSH/Authentication/AgentError.html
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Authentication::AgentError</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/authentication/agent_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/agent.rb">lib/net/ssh/authentication/agent.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="../Exception.html">Net::SSH::Exception</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Authentication::AgentError</h1>
+
+ <div id="description" class="description">
+
+<p>A trivial exception class for representing agent-specific errors.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Authentication/AgentNotAvailable.html b/Net/SSH/Authentication/AgentNotAvailable.html
new file mode 100644
index 0000000..11d2e86
--- /dev/null
+++ b/Net/SSH/Authentication/AgentNotAvailable.html
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Authentication::AgentNotAvailable</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/authentication/agent_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/agent.rb">lib/net/ssh/authentication/agent.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="AgentError.html">Net::SSH::Authentication::AgentError</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Authentication::AgentNotAvailable</h1>
+
+ <div id="description" class="description">
+
+<p>An exception for indicating that the <a href="../../SSH.html">SSH</a> agent
+is not available.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Authentication/Constants.html b/Net/SSH/Authentication/Constants.html
new file mode 100644
index 0000000..7bde708
--- /dev/null
+++ b/Net/SSH/Authentication/Constants.html
@@ -0,0 +1,428 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Authentication::Constants</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/authentication/constants_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/constants.rb">lib/net/ssh/authentication/constants.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Authentication::Constants</h1>
+
+ <div id="description" class="description">
+
+<p>Describes the constants used by the <a
+href="../Authentication.html">Net::SSH::Authentication</a> components of
+the <a href="../../SSH.html">Net::SSH</a> library. Individual
+authentication method implemenations may define yet more constants that are
+specific to their implementation.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="USERAUTH_BANNER">USERAUTH_BANNER</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="USERAUTH_FAILURE">USERAUTH_FAILURE</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="USERAUTH_METHOD_RANGE">USERAUTH_METHOD_RANGE</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="USERAUTH_PASSWD_CHANGEREQ">USERAUTH_PASSWD_CHANGEREQ</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="USERAUTH_PK_OK">USERAUTH_PK_OK</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="USERAUTH_REQUEST">USERAUTH_REQUEST</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="USERAUTH_SUCCESS">USERAUTH_SUCCESS</a></dt>
+
+ <dd class="description"></dd>
+
+
+ </dl>
+ </div>
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Authentication/DisallowedMethod.html b/Net/SSH/Authentication/DisallowedMethod.html
new file mode 100644
index 0000000..5ff1d8a
--- /dev/null
+++ b/Net/SSH/Authentication/DisallowedMethod.html
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Authentication::DisallowedMethod</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/authentication/session_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/session.rb">lib/net/ssh/authentication/session.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="../Exception.html">Net::SSH::Exception</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Authentication::DisallowedMethod</h1>
+
+ <div id="description" class="description">
+
+<p>Raised if the current authentication method is not allowed</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Authentication/KeyManager.html b/Net/SSH/Authentication/KeyManager.html
new file mode 100644
index 0000000..5ac4449
--- /dev/null
+++ b/Net/SSH/Authentication/KeyManager.html
@@ -0,0 +1,960 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Authentication::KeyManager</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/authentication/key_manager_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/key_manager.rb">lib/net/ssh/authentication/key_manager.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-add">#add</a></li>
+
+ <li><a href="#method-i-add_key_data">#add_key_data</a></li>
+
+ <li><a href="#method-i-agent">#agent</a></li>
+
+ <li><a href="#method-i-clear-21">#clear!</a></li>
+
+ <li><a href="#method-i-each_identity">#each_identity</a></li>
+
+ <li><a href="#method-i-finish">#finish</a></li>
+
+ <li><a href="#method-i-sign">#sign</a></li>
+
+ <li><a href="#method-i-use_agent-3D">#use_agent=</a></li>
+
+ <li><a href="#method-i-use_agent-3F">#use_agent?</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="../Loggable.html">Net::SSH::Loggable</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Authentication::KeyManager</h1>
+
+ <div id="description" class="description">
+
+<p>This class encapsulates all operations done by clients on a user’s private
+keys. In practice, the client should never need a reference to a private
+key; instead, they grab a list of “identities” (public keys) that are
+available from the <a href="KeyManager.html">KeyManager</a>, and then use
+the <a href="KeyManager.html">KeyManager</a> to do various private key
+operations using those identities.</p>
+
+<p>The <a href="KeyManager.html">KeyManager</a> also uses the <a
+href="Agent.html">Agent</a> class to encapsulate the ssh-<a
+href="KeyManager.html#method-i-agent">agent</a>. Thus, from a client’s
+perspective it is completely hidden whether an identity comes from the
+ssh-<a href="KeyManager.html#method-i-agent">agent</a> or from a file on
+disk.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="key_data-attribute-method" class="method-detail">
+ <a name="key_data"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">key_data</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The list of user key data that will be examined</p>
+
+ </div>
+ </div>
+
+ <div id="key_files-attribute-method" class="method-detail">
+ <a name="key_files"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">key_files</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The list of user key files that will be examined</p>
+
+ </div>
+ </div>
+
+ <div id="known_identities-attribute-method" class="method-detail">
+ <a name="known_identities"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">known_identities</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The map of loaded identities</p>
+
+ </div>
+ </div>
+
+ <div id="options-attribute-method" class="method-detail">
+ <a name="options"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">options</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The map of <a href="KeyManager.html#attribute-i-options">options</a> that
+were passed to the key-manager</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(logger, options={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Create a <a href="KeyManager.html#method-c-new">new</a> <a
+href="KeyManager.html">KeyManager</a>. By default, the manager will use the
+ssh-<a href="KeyManager.html#method-i-agent">agent</a> (if it is running).</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/key_manager.rb, line 41</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">logger</span>, <span class="ruby-identifier">options</span>={})
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">logger</span> = <span class="ruby-identifier">logger</span>
+ <span class="ruby-ivar">@key_files</span> = []
+ <span class="ruby-ivar">@key_data</span> = []
+ <span class="ruby-ivar">@use_agent</span> = <span class="ruby-keyword">true</span>
+ <span class="ruby-ivar">@known_identities</span> = {}
+ <span class="ruby-ivar">@agent</span> = <span class="ruby-keyword">nil</span>
+ <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="add-method" class="method-detail ">
+ <a name="method-i-add"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">add</span><span
+ class="method-args">(key_file)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Add the given key_file to the list of key files that will be used.</p>
+
+
+
+ <div class="method-source-code" id="add-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/key_manager.rb, line 63</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">add</span>(<span class="ruby-identifier">key_file</span>)
+ <span class="ruby-identifier">key_files</span>.<span class="ruby-identifier">push</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">key_file</span>)).<span class="ruby-identifier">uniq!</span>
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- add-source -->
+
+ </div>
+
+
+
+
+ </div><!-- add-method -->
+
+
+ <div id="add_key_data-method" class="method-detail ">
+ <a name="method-i-add_key_data"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">add_key_data</span><span
+ class="method-args">(key_data_)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Add the given key_file to the list of keys that will be used.</p>
+
+
+
+ <div class="method-source-code" id="add_key_data-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/key_manager.rb, line 69</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">add_key_data</span>(<span class="ruby-identifier">key_data_</span>)
+ <span class="ruby-identifier">key_data</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">key_data_</span>).<span class="ruby-identifier">uniq!</span>
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- add_key_data-source -->
+
+ </div>
+
+
+
+
+ </div><!-- add_key_data-method -->
+
+
+ <div id="agent-method" class="method-detail ">
+ <a name="method-i-agent"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">agent</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns an <a href="Agent.html">Agent</a> instance to use for communicating
+with an <a href="../../SSH.html">SSH</a> <a
+href="KeyManager.html#method-i-agent">agent</a> process. Returns nil if use
+of an <a href="../../SSH.html">SSH</a> <a
+href="KeyManager.html#method-i-agent">agent</a> has been disabled, or if
+the <a href="KeyManager.html#method-i-agent">agent</a> is otherwise not
+available.</p>
+
+
+
+ <div class="method-source-code" id="agent-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/key_manager.rb, line 176</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">agent</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">use_agent?</span>
+ <span class="ruby-ivar">@agent</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Agent</span>.<span class="ruby-identifier">connect</span>(<span class="ruby-identifier">logger</span>)
+<span class="ruby-keyword">rescue</span> <span class="ruby-constant">AgentNotAvailable</span>
+ <span class="ruby-ivar">@use_agent</span> = <span class="ruby-keyword">false</span>
+ <span class="ruby-keyword">nil</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- agent-source -->
+
+ </div>
+
+
+
+
+ </div><!-- agent-method -->
+
+
+ <div id="clear-21-method" class="method-detail ">
+ <a name="method-i-clear-21"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">clear!</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Clear all knowledge of any loaded user keys. This also clears the list of
+default identity files that are to be loaded, thus making it appropriate to
+use if a client wishes to NOT use the default identity files.</p>
+
+
+
+ <div class="method-source-code" id="clear-21-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/key_manager.rb, line 55</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">clear!</span>
+ <span class="ruby-identifier">key_files</span>.<span class="ruby-identifier">clear</span>
+ <span class="ruby-identifier">key_data</span>.<span class="ruby-identifier">clear</span>
+ <span class="ruby-identifier">known_identities</span>.<span class="ruby-identifier">clear</span>
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- clear-21-source -->
+
+ </div>
+
+
+
+
+ </div><!-- clear-21-method -->
+
+
+ <div id="each_identity-method" class="method-detail ">
+ <a name="method-i-each_identity"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">each_identity</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Iterates over all available identities (public keys) known to this manager.
+As it finds one, it will then yield it to the caller. The origin of the
+identities may be from files on disk or from an ssh-<a
+href="KeyManager.html#method-i-agent">agent</a>. Note that identities from
+an ssh-<a href="KeyManager.html#method-i-agent">agent</a> are always listed
+first in the array, with other identities coming after.</p>
+
+<p>If key manager was created with :keys_only option, any identity from ssh-<a
+href="KeyManager.html#method-i-agent">agent</a> will be ignored unless it
+present in <a href="KeyManager.html#attribute-i-key_files">key_files</a> or
+<a href="KeyManager.html#attribute-i-key_data">key_data</a>.</p>
+
+
+
+ <div class="method-source-code" id="each_identity-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/key_manager.rb, line 97</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">each_identity</span>
+ <span class="ruby-identifier">prepared_identities</span> = <span class="ruby-identifier">prepare_identities_from_files</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">prepare_identities_from_data</span>
+
+ <span class="ruby-identifier">user_identities</span> = <span class="ruby-identifier">load_identities</span>(<span class="ruby-identifier">prepared_identities</span>, <span class="ruby-keyword">false</span>)
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">agent</span>
+ <span class="ruby-identifier">agent</span>.<span class="ruby-identifier">identities</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">corresponding_user_identity</span> = <span class="ruby-identifier">user_identities</span>.<span class="ruby-identifier">detect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">identity</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">identity</span>[<span class="ruby-value">:public_key</span>] <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">identity</span>[<span class="ruby-value">:public_key</span>].<span class="ruby-identifier">to_pem</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_pem</span>
+ }
+ <span class="ruby-identifier">user_identities</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">corresponding_user_identity</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">corresponding_user_identity</span>
+
+ <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">options</span>[<span class="ruby-value">:keys_only</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">corresponding_user_identity</span>
+ <span class="ruby-identifier">known_identities</span>[<span class="ruby-identifier">key</span>] = { <span class="ruby-value">:from</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">:agent</span> }
+ <span class="ruby-keyword">yield</span> <span class="ruby-identifier">key</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">user_identities</span> = <span class="ruby-identifier">load_identities</span>(<span class="ruby-identifier">user_identities</span>, <span class="ruby-keyword">true</span>)
+
+ <span class="ruby-identifier">user_identities</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">identity</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">key</span> = <span class="ruby-identifier">identity</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:public_key</span>)
+ <span class="ruby-identifier">known_identities</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">identity</span>
+ <span class="ruby-keyword">yield</span> <span class="ruby-identifier">key</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- each_identity-source -->
+
+ </div>
+
+
+
+
+ </div><!-- each_identity-method -->
+
+
+ <div id="finish-method" class="method-detail ">
+ <a name="method-i-finish"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">finish</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>This is used as a hint to the <a href="KeyManager.html">KeyManager</a>
+indicating that the <a href="KeyManager.html#method-i-agent">agent</a>
+connection is no longer needed. Any other open resources may be closed at
+this time.</p>
+
+<p>Calling this does NOT indicate that the <a
+href="KeyManager.html">KeyManager</a> will no longer be used. Identities
+may still be requested and operations done on loaded identities, in which
+case, the <a href="KeyManager.html#method-i-agent">agent</a> will be
+automatically reconnected. This method simply allows the client connection
+to be closed when it will not be used in the immediate future.</p>
+
+
+
+ <div class="method-source-code" id="finish-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/key_manager.rb, line 83</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">finish</span>
+ <span class="ruby-ivar">@agent</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@agent</span>
+ <span class="ruby-ivar">@agent</span> = <span class="ruby-keyword">nil</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- finish-source -->
+
+ </div>
+
+
+
+
+ </div><!-- finish-method -->
+
+
+ <div id="sign-method" class="method-detail ">
+ <a name="method-i-sign"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">sign</span><span
+ class="method-args">(identity, data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Sign the given data, using the corresponding private key of the given
+identity. If the identity was originally obtained from an ssh-<a
+href="KeyManager.html#method-i-agent">agent</a>, then the ssh-<a
+href="KeyManager.html#method-i-agent">agent</a> will be used to <a
+href="KeyManager.html#method-i-sign">sign</a> the data, otherwise the
+private key for the identity will be loaded from disk (if it hasn’t been
+loaded already) and will then be used to <a
+href="KeyManager.html#method-i-sign">sign</a> the data.</p>
+
+<p>Regardless of the identity’s origin or who does the signing, this will
+always return the signature in an SSH2-specified “signature blob” format.</p>
+
+
+
+ <div class="method-source-code" id="sign-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/key_manager.rb, line 136</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">sign</span>(<span class="ruby-identifier">identity</span>, <span class="ruby-identifier">data</span>)
+ <span class="ruby-identifier">info</span> = <span class="ruby-identifier">known_identities</span>[<span class="ruby-identifier">identity</span>] <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">KeyManagerError</span>, <span class="ruby-string">&quot;the given identity is unknown to the key manager&quot;</span>
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value">:key</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">info</span>[<span class="ruby-value">:from</span>] <span class="ruby-operator">==</span> <span class="ruby-value">:file</span>
+ <span class="ruby-keyword">begin</span>
+ <span class="ruby-identifier">info</span>[<span class="ruby-value">:key</span>] = <span class="ruby-constant">KeyFactory</span>.<span class="ruby-identifier">load_private_key</span>(<span class="ruby-identifier">info</span>[<span class="ruby-value">:file</span>], <span class="ruby-identifier">options</span>[<span class="ruby-value">:passphrase</span>], <span class="ruby-keyword">true</span>)
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">Exception</span>, <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">OpenSSLError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">KeyManagerError</span>, <span class="ruby-node">&quot;the given identity is known, but the private key could not be loaded: #{e.class} (#{e.message})&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value">:key</span>]
+ <span class="ruby-keyword">return</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">from</span>(<span class="ruby-value">:string</span>, <span class="ruby-identifier">identity</span>.<span class="ruby-identifier">ssh_type</span>,
+ <span class="ruby-value">:string</span>, <span class="ruby-identifier">info</span>[<span class="ruby-value">:key</span>].<span class="ruby-identifier">ssh_do_sign</span>(<span class="ruby-identifier">data</span>.<span class="ruby-identifier">to_s</span>)).<span class="ruby-identifier">to_s</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value">:from</span>] <span class="ruby-operator">==</span> <span class="ruby-value">:agent</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">KeyManagerError</span>, <span class="ruby-string">&quot;the agent is no longer available&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">agent</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">agent</span>.<span class="ruby-identifier">sign</span>(<span class="ruby-identifier">identity</span>, <span class="ruby-identifier">data</span>.<span class="ruby-identifier">to_s</span>)
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">KeyManagerError</span>, <span class="ruby-node">&quot;[BUG] can't determine identity origin (#{info.inspect})&quot;</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- sign-source -->
+
+ </div>
+
+
+
+
+ </div><!-- sign-method -->
+
+
+ <div id="use_agent-3D-method" class="method-detail ">
+ <a name="method-i-use_agent-3D"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">use_agent=</span><span
+ class="method-args">(use_agent)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Toggles whether the ssh-<a href="KeyManager.html#method-i-agent">agent</a>
+will be used or not. If true, an attempt will be made to use the ssh-<a
+href="KeyManager.html#method-i-agent">agent</a>. If false, any existing
+connection to an <a href="KeyManager.html#method-i-agent">agent</a> is
+closed and the <a href="KeyManager.html#method-i-agent">agent</a> will not
+be used.</p>
+
+
+
+ <div class="method-source-code" id="use_agent-3D-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/key_manager.rb, line 168</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">use_agent=</span>(<span class="ruby-identifier">use_agent</span>)
+ <span class="ruby-identifier">finish</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">use_agent</span>
+ <span class="ruby-ivar">@use_agent</span> = <span class="ruby-identifier">use_agent</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- use_agent-3D-source -->
+
+ </div>
+
+
+
+
+ </div><!-- use_agent-3D-method -->
+
+
+ <div id="use_agent-3F-method" class="method-detail ">
+ <a name="method-i-use_agent-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">use_agent?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Identifies whether the ssh-<a
+href="KeyManager.html#method-i-agent">agent</a> will be used or not.</p>
+
+
+
+ <div class="method-source-code" id="use_agent-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/key_manager.rb, line 161</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">use_agent?</span>
+ <span class="ruby-ivar">@use_agent</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- use_agent-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- use_agent-3F-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Authentication/KeyManagerError.html b/Net/SSH/Authentication/KeyManagerError.html
new file mode 100644
index 0000000..2061920
--- /dev/null
+++ b/Net/SSH/Authentication/KeyManagerError.html
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Authentication::KeyManagerError</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/authentication/key_manager_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/key_manager.rb">lib/net/ssh/authentication/key_manager.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="../Exception.html">Net::SSH::Exception</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Authentication::KeyManagerError</h1>
+
+ <div id="description" class="description">
+
+<p>A trivial exception class used to report errors in the key manager.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Authentication/Methods.html b/Net/SSH/Authentication/Methods.html
new file mode 100644
index 0000000..0b8310d
--- /dev/null
+++ b/Net/SSH/Authentication/Methods.html
@@ -0,0 +1,409 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Authentication::Methods</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/authentication/methods/abstract_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/abstract.rb">lib/net/ssh/authentication/methods/abstract.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/authentication/methods/hostbased_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/hostbased.rb">lib/net/ssh/authentication/methods/hostbased.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/authentication/methods/keyboard_interactive_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/keyboard_interactive.rb">lib/net/ssh/authentication/methods/keyboard_interactive.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/authentication/methods/password_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/password.rb">lib/net/ssh/authentication/methods/password.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/authentication/methods/publickey_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/publickey.rb">lib/net/ssh/authentication/methods/publickey.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+ <!-- Namespace Contents -->
+ <div id="namespace-list-section" class="section">
+ <h3 class="section-header">Namespace</h3>
+ <ul class="link-list">
+
+ <li><span class="type">CLASS</span> <a href="Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ </ul>
+ </div>
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Authentication::Methods</h1>
+
+ <div id="description" class="description">
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Authentication/Methods/Abstract.html b/Net/SSH/Authentication/Methods/Abstract.html
new file mode 100644
index 0000000..87442a7
--- /dev/null
+++ b/Net/SSH/Authentication/Methods/Abstract.html
@@ -0,0 +1,626 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Authentication::Methods::Abstract</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/authentication/methods/abstract_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/abstract.rb">lib/net/ssh/authentication/methods/abstract.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-send_message">#send_message</a></li>
+
+ <li><a href="#method-i-session_id">#session_id</a></li>
+
+ <li><a href="#method-i-userauth_request">#userauth_request</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="../Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+
+
+ <li><a class="include" href="../../Loggable.html">Net::SSH::Loggable</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Authentication::Methods::Abstract</h1>
+
+ <div id="description" class="description">
+
+<p>The base class of all user authentication methods. It provides a few bits
+of common functionality.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="key_manager-attribute-method" class="method-detail">
+ <a name="key_manager"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">key_manager</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The key manager object. Not all authentication methods will require this.</p>
+
+ </div>
+ </div>
+
+ <div id="session-attribute-method" class="method-detail">
+ <a name="session"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">session</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The authentication <a href="Abstract.html#attribute-i-session">session</a>
+object</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(session, options={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Instantiates a <a href="Abstract.html#method-c-new">new</a> authentication
+method.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/methods/abstract.rb, line 21</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">session</span>, <span class="ruby-identifier">options</span>={})
+ <span class="ruby-ivar">@session</span> = <span class="ruby-identifier">session</span>
+ <span class="ruby-ivar">@key_manager</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:key_manager</span>]
+ <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">logger</span> = <span class="ruby-identifier">session</span>.<span class="ruby-identifier">logger</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="send_message-method" class="method-detail ">
+ <a name="method-i-send_message"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">send_message</span><span
+ class="method-args">(msg)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Sends a message via the underlying transport layer abstraction. This will
+block until the message is completely sent.</p>
+
+
+
+ <div class="method-source-code" id="send_message-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/methods/abstract.rb, line 36</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">send_message</span>(<span class="ruby-identifier">msg</span>)
+ <span class="ruby-identifier">session</span>.<span class="ruby-identifier">transport</span>.<span class="ruby-identifier">send_message</span>(<span class="ruby-identifier">msg</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- send_message-source -->
+
+ </div>
+
+
+
+
+ </div><!-- send_message-method -->
+
+
+ <div id="session_id-method" class="method-detail ">
+ <a name="method-i-session_id"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">session_id</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns the <a href="Abstract.html#attribute-i-session">session</a>-id, as
+generated during the first key exchange of an <a
+href="../../../SSH.html">SSH</a> connection.</p>
+
+
+
+ <div class="method-source-code" id="session_id-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/methods/abstract.rb, line 30</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">session_id</span>
+ <span class="ruby-identifier">session</span>.<span class="ruby-identifier">transport</span>.<span class="ruby-identifier">algorithms</span>.<span class="ruby-identifier">session_id</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- session_id-source -->
+
+ </div>
+
+
+
+
+ </div><!-- session_id-method -->
+
+
+ <div id="userauth_request-method" class="method-detail ">
+ <a name="method-i-userauth_request"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">userauth_request</span><span
+ class="method-args">(username, next_service, auth_method, *others)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Creates a <a href="Abstract.html#method-c-new">new</a> USERAUTH_REQUEST
+packet. The extra arguments on the end must be either boolean values or
+strings, and are tacked onto the end of the packet. The <a
+href="Abstract.html#method-c-new">new</a> packet is returned, ready for
+sending.</p>
+
+
+
+ <div class="method-source-code" id="userauth_request-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/methods/abstract.rb, line 43</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">userauth_request</span>(<span class="ruby-identifier">username</span>, <span class="ruby-identifier">next_service</span>, <span class="ruby-identifier">auth_method</span>, *<span class="ruby-identifier">others</span>)
+ <span class="ruby-identifier">buffer</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">from</span>(<span class="ruby-value">:byte</span>, <span class="ruby-constant">USERAUTH_REQUEST</span>,
+ <span class="ruby-value">:string</span>, <span class="ruby-identifier">username</span>, <span class="ruby-value">:string</span>, <span class="ruby-identifier">next_service</span>, <span class="ruby-value">:string</span>, <span class="ruby-identifier">auth_method</span>)
+
+ <span class="ruby-identifier">others</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-keyword">true</span>, <span class="ruby-keyword">false</span> <span class="ruby-keyword">then</span> <span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">write_bool</span>(<span class="ruby-identifier">value</span>)
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">String</span> <span class="ruby-keyword">then</span> <span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">write_string</span>(<span class="ruby-identifier">value</span>)
+ <span class="ruby-keyword">else</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;don't know how to write #{value.inspect}&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">buffer</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- userauth_request-source -->
+
+ </div>
+
+
+
+
+ </div><!-- userauth_request-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Authentication/Methods/Hostbased.html b/Net/SSH/Authentication/Methods/Hostbased.html
new file mode 100644
index 0000000..93a1caa
--- /dev/null
+++ b/Net/SSH/Authentication/Methods/Hostbased.html
@@ -0,0 +1,459 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Authentication::Methods::Hostbased</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/authentication/methods/hostbased_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/hostbased.rb">lib/net/ssh/authentication/methods/hostbased.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-authenticate">#authenticate</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="../Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Authentication::Methods::Hostbased</h1>
+
+ <div id="description" class="description">
+
+<p>Implements the host-based <a href="../../../SSH.html">SSH</a>
+authentication method.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="authenticate-method" class="method-detail ">
+ <a name="method-i-authenticate"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">authenticate</span><span
+ class="method-args">(next_service, username, password=nil)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Attempts to perform host-based authorization of the user by trying all
+known keys.</p>
+
+
+
+ <div class="method-source-code" id="authenticate-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/methods/hostbased.rb, line 14</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">authenticate</span>(<span class="ruby-identifier">next_service</span>, <span class="ruby-identifier">username</span>, <span class="ruby-identifier">password</span>=<span class="ruby-keyword">nil</span>)
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">key_manager</span>
+
+ <span class="ruby-identifier">key_manager</span>.<span class="ruby-identifier">each_identity</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">identity</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">authenticate_with</span>(<span class="ruby-identifier">identity</span>, <span class="ruby-identifier">next_service</span>,
+ <span class="ruby-identifier">username</span>, <span class="ruby-identifier">key_manager</span>)
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- authenticate-source -->
+
+ </div>
+
+
+
+
+ </div><!-- authenticate-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Authentication/Methods/KeyboardInteractive.html b/Net/SSH/Authentication/Methods/KeyboardInteractive.html
new file mode 100644
index 0000000..19b11c3
--- /dev/null
+++ b/Net/SSH/Authentication/Methods/KeyboardInteractive.html
@@ -0,0 +1,516 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Authentication::Methods::KeyboardInteractive</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/authentication/methods/keyboard_interactive_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/keyboard_interactive.rb">lib/net/ssh/authentication/methods/keyboard_interactive.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-authenticate">#authenticate</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><span class="include">Prompt</span></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Authentication::Methods::KeyboardInteractive</h1>
+
+ <div id="description" class="description">
+
+<p>Implements the “keyboard-interactive” <a href="../../../SSH.html">SSH</a>
+authentication method.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="USERAUTH_INFO_REQUEST">USERAUTH_INFO_REQUEST</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="USERAUTH_INFO_RESPONSE">USERAUTH_INFO_RESPONSE</a></dt>
+
+ <dd class="description"></dd>
+
+
+ </dl>
+ </div>
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="authenticate-method" class="method-detail ">
+ <a name="method-i-authenticate"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">authenticate</span><span
+ class="method-args">(next_service, username, password=nil)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Attempt to <a
+href="KeyboardInteractive.html#method-i-authenticate">authenticate</a> the
+given user for the given service.</p>
+
+
+
+ <div class="method-source-code" id="authenticate-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/methods/keyboard_interactive.rb, line 17</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">authenticate</span>(<span class="ruby-identifier">next_service</span>, <span class="ruby-identifier">username</span>, <span class="ruby-identifier">password</span>=<span class="ruby-keyword">nil</span>)
+ <span class="ruby-identifier">debug</span> { <span class="ruby-string">&quot;trying keyboard-interactive&quot;</span> }
+ <span class="ruby-identifier">send_message</span>(<span class="ruby-identifier">userauth_request</span>(<span class="ruby-identifier">username</span>, <span class="ruby-identifier">next_service</span>, <span class="ruby-string">&quot;keyboard-interactive&quot;</span>, <span class="ruby-string">&quot;&quot;</span>, <span class="ruby-string">&quot;&quot;</span>))
+
+ <span class="ruby-identifier">loop</span> <span class="ruby-keyword">do</span>
+ <span class="ruby-identifier">message</span> = <span class="ruby-identifier">session</span>.<span class="ruby-identifier">next_message</span>
+
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">message</span>.<span class="ruby-identifier">type</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">USERAUTH_SUCCESS</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-string">&quot;keyboard-interactive succeeded&quot;</span> }
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">USERAUTH_FAILURE</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-string">&quot;keyboard-interactive failed&quot;</span> }
+
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Authentication</span><span class="ruby-operator">::</span><span class="ruby-constant">DisallowedMethod</span> <span class="ruby-keyword">unless</span>
+ <span class="ruby-identifier">message</span>[<span class="ruby-value">:authentications</span>].<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/,/</span>).<span class="ruby-identifier">include?</span> <span class="ruby-string">'keyboard-interactive'</span>
+
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">USERAUTH_INFO_REQUEST</span>
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">message</span>.<span class="ruby-identifier">read_string</span>
+ <span class="ruby-identifier">instruction</span> = <span class="ruby-identifier">message</span>.<span class="ruby-identifier">read_string</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-string">&quot;keyboard-interactive info request&quot;</span> }
+
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">password</span>
+ <span class="ruby-identifier">puts</span>(<span class="ruby-identifier">name</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">empty?</span>
+ <span class="ruby-identifier">puts</span>(<span class="ruby-identifier">instruction</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">instruction</span>.<span class="ruby-identifier">empty?</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">lang_tag</span> = <span class="ruby-identifier">message</span>.<span class="ruby-identifier">read_string</span>
+ <span class="ruby-identifier">responses</span> =[]
+
+ <span class="ruby-identifier">message</span>.<span class="ruby-identifier">read_long</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword">do</span>
+ <span class="ruby-identifier">text</span> = <span class="ruby-identifier">message</span>.<span class="ruby-identifier">read_string</span>
+ <span class="ruby-identifier">echo</span> = <span class="ruby-identifier">message</span>.<span class="ruby-identifier">read_bool</span>
+ <span class="ruby-identifier">responses</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">password</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">prompt</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">echo</span>))
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-comment"># if the password failed the first time around, don't try</span>
+ <span class="ruby-comment"># and use it on subsequent requests.</span>
+ <span class="ruby-identifier">password</span> = <span class="ruby-keyword">nil</span>
+
+ <span class="ruby-identifier">msg</span> = <span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">from</span>(<span class="ruby-value">:byte</span>, <span class="ruby-constant">USERAUTH_INFO_RESPONSE</span>, <span class="ruby-value">:long</span>, <span class="ruby-identifier">responses</span>.<span class="ruby-identifier">length</span>, <span class="ruby-value">:string</span>, <span class="ruby-identifier">responses</span>)
+ <span class="ruby-identifier">send_message</span>(<span class="ruby-identifier">msg</span>)
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-node">&quot;unexpected reply in keyboard interactive: #{message.type} (#{message.inspect})&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- authenticate-source -->
+
+ </div>
+
+
+
+
+ </div><!-- authenticate-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Authentication/Methods/Password.html b/Net/SSH/Authentication/Methods/Password.html
new file mode 100644
index 0000000..a5d9f93
--- /dev/null
+++ b/Net/SSH/Authentication/Methods/Password.html
@@ -0,0 +1,462 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Authentication::Methods::Password</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/authentication/methods/password_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/password.rb">lib/net/ssh/authentication/methods/password.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-authenticate">#authenticate</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Authentication::Methods::Password</h1>
+
+ <div id="description" class="description">
+
+<p>Implements the “password” <a href="../../../SSH.html">SSH</a>
+authentication method.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="authenticate-method" class="method-detail ">
+ <a name="method-i-authenticate"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">authenticate</span><span
+ class="method-args">(next_service, username, password=nil)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Attempt to <a href="Password.html#method-i-authenticate">authenticate</a>
+the given user for the given service. If the password parameter is nil,
+this will never do anything except return false.</p>
+
+
+
+ <div class="method-source-code" id="authenticate-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/methods/password.rb, line 14</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">authenticate</span>(<span class="ruby-identifier">next_service</span>, <span class="ruby-identifier">username</span>, <span class="ruby-identifier">password</span>=<span class="ruby-keyword">nil</span>)
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">password</span>
+
+ <span class="ruby-identifier">send_message</span>(<span class="ruby-identifier">userauth_request</span>(<span class="ruby-identifier">username</span>, <span class="ruby-identifier">next_service</span>, <span class="ruby-string">&quot;password&quot;</span>, <span class="ruby-keyword">false</span>, <span class="ruby-identifier">password</span>))
+ <span class="ruby-identifier">message</span> = <span class="ruby-identifier">session</span>.<span class="ruby-identifier">next_message</span>
+
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">message</span>.<span class="ruby-identifier">type</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">USERAUTH_SUCCESS</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-string">&quot;password succeeded&quot;</span> }
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">USERAUTH_FAILURE</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-string">&quot;password failed&quot;</span> }
+
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Authentication</span><span class="ruby-operator">::</span><span class="ruby-constant">DisallowedMethod</span> <span class="ruby-keyword">unless</span>
+ <span class="ruby-identifier">message</span>[<span class="ruby-value">:authentications</span>].<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/,/</span>).<span class="ruby-identifier">include?</span> <span class="ruby-string">'password'</span>
+
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">USERAUTH_PASSWD_CHANGEREQ</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-string">&quot;password change request received, failing&quot;</span> }
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-node">&quot;unexpected reply to USERAUTH_REQUEST: #{message.type} (#{message.inspect})&quot;</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- authenticate-source -->
+
+ </div>
+
+
+
+
+ </div><!-- authenticate-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Authentication/Methods/Publickey.html b/Net/SSH/Authentication/Methods/Publickey.html
new file mode 100644
index 0000000..28e5abf
--- /dev/null
+++ b/Net/SSH/Authentication/Methods/Publickey.html
@@ -0,0 +1,448 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Authentication::Methods::Publickey</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/authentication/methods/publickey_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/methods/publickey.rb">lib/net/ssh/authentication/methods/publickey.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-authenticate">#authenticate</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Authentication::Methods::Publickey</h1>
+
+ <div id="description" class="description">
+
+<p>Implements the “publickey” <a href="../../../SSH.html">SSH</a>
+authentication method.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="authenticate-method" class="method-detail ">
+ <a name="method-i-authenticate"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">authenticate</span><span
+ class="method-args">(next_service, username, password=nil)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Attempts to perform public-key authentication for the given username,
+trying each identity known to the key manager. If any of them succeed,
+returns <tt>true</tt>, otherwise returns <tt>false</tt>. This requires the
+presence of a key manager.</p>
+
+
+
+ <div class="method-source-code" id="authenticate-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/methods/publickey.rb, line 16</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">authenticate</span>(<span class="ruby-identifier">next_service</span>, <span class="ruby-identifier">username</span>, <span class="ruby-identifier">password</span>=<span class="ruby-keyword">nil</span>)
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">key_manager</span>
+
+ <span class="ruby-identifier">key_manager</span>.<span class="ruby-identifier">each_identity</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">identity</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">authenticate_with</span>(<span class="ruby-identifier">identity</span>, <span class="ruby-identifier">next_service</span>, <span class="ruby-identifier">username</span>)
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- authenticate-source -->
+
+ </div>
+
+
+
+
+ </div><!-- authenticate-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Authentication/Session.html b/Net/SSH/Authentication/Session.html
new file mode 100644
index 0000000..e173932
--- /dev/null
+++ b/Net/SSH/Authentication/Session.html
@@ -0,0 +1,720 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Authentication::Session</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/authentication/session_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/authentication/session.rb">lib/net/ssh/authentication/session.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-authenticate">#authenticate</a></li>
+
+ <li><a href="#method-i-expect_message">#expect_message</a></li>
+
+ <li><a href="#method-i-next_message">#next_message</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="../Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+
+
+ <li><a class="include" href="Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+
+
+ <li><a class="include" href="../Loggable.html">Net::SSH::Loggable</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Authentication::Session</h1>
+
+ <div id="description" class="description">
+
+<p>Represents an authentication session. It manages the authentication of a
+user over an established connection (the “<a
+href="Session.html#attribute-i-transport">transport</a>” object, see <a
+href="../Transport/Session.html">Net::SSH::Transport::Session</a>).</p>
+
+<p>The use of an authentication session to manage user authentication is
+internal to <a href="../../SSH.html">Net::SSH</a> (specifically <a
+href="../../SSH.html#method-c-start">Net::SSH.start</a>). Consumers of the
+<a href="../../SSH.html">Net::SSH</a> library will never need to access
+this class directly.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="allowed_auth_methods-attribute-method" class="method-detail">
+ <a name="allowed_auth_methods"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">allowed_auth_methods</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>the list of authentication methods that are allowed</p>
+
+ </div>
+ </div>
+
+ <div id="auth_methods-attribute-method" class="method-detail">
+ <a name="auth_methods"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">auth_methods</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>the list of authentication methods to try</p>
+
+ </div>
+ </div>
+
+ <div id="options-attribute-method" class="method-detail">
+ <a name="options"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">options</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>a hash of <a href="Session.html#attribute-i-options">options</a>, given at
+construction time</p>
+
+ </div>
+ </div>
+
+ <div id="transport-attribute-method" class="method-detail">
+ <a name="transport"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">transport</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p><a href="Session.html#attribute-i-transport">transport</a> layer
+abstraction</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(transport, options={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Instantiates a <a href="Session.html#method-c-new">new</a> <a
+href="Session.html">Authentication::Session</a> object over the given <a
+href="Session.html#attribute-i-transport">transport</a> layer abstraction.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/session.rb, line 40</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">transport</span>, <span class="ruby-identifier">options</span>={})
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">logger</span> = <span class="ruby-identifier">transport</span>.<span class="ruby-identifier">logger</span>
+ <span class="ruby-ivar">@transport</span> = <span class="ruby-identifier">transport</span>
+
+ <span class="ruby-ivar">@auth_methods</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:auth_methods</span>] <span class="ruby-operator">||</span> <span class="ruby-node">%(publickey hostbased password keyboard-interactive)</span>
+ <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
+
+ <span class="ruby-ivar">@allowed_auth_methods</span> = <span class="ruby-ivar">@auth_methods</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="authenticate-method" class="method-detail ">
+ <a name="method-i-authenticate"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">authenticate</span><span
+ class="method-args">(next_service, username, password=nil)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Attempts to <a href="Session.html#method-i-authenticate">authenticate</a>
+the given user, in preparation for the next service request. Returns true
+if an authentication method succeeds in authenticating the user, and false
+otherwise.</p>
+
+
+
+ <div class="method-source-code" id="authenticate-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/session.rb, line 53</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">authenticate</span>(<span class="ruby-identifier">next_service</span>, <span class="ruby-identifier">username</span>, <span class="ruby-identifier">password</span>=<span class="ruby-keyword">nil</span>)
+ <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;beginning authentication of `#{username}'&quot;</span> }
+
+ <span class="ruby-identifier">transport</span>.<span class="ruby-identifier">send_message</span>(<span class="ruby-identifier">transport</span>.<span class="ruby-identifier">service_request</span>(<span class="ruby-string">&quot;ssh-userauth&quot;</span>))
+ <span class="ruby-identifier">message</span> = <span class="ruby-identifier">expect_message</span>(<span class="ruby-constant">SERVICE_ACCEPT</span>)
+
+ <span class="ruby-identifier">key_manager</span> = <span class="ruby-constant">KeyManager</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">logger</span>, <span class="ruby-identifier">options</span>)
+ <span class="ruby-identifier">keys</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">key</span><span class="ruby-operator">|</span> <span class="ruby-identifier">key_manager</span>.<span class="ruby-identifier">add</span>(<span class="ruby-identifier">key</span>) } <span class="ruby-keyword">unless</span> <span class="ruby-identifier">keys</span>.<span class="ruby-identifier">empty?</span>
+ <span class="ruby-identifier">key_data</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">key2</span><span class="ruby-operator">|</span> <span class="ruby-identifier">key_manager</span>.<span class="ruby-identifier">add_key_data</span>(<span class="ruby-identifier">key2</span>) } <span class="ruby-keyword">unless</span> <span class="ruby-identifier">key_data</span>.<span class="ruby-identifier">empty?</span>
+
+ <span class="ruby-identifier">attempted</span> = []
+
+ <span class="ruby-ivar">@auth_methods</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword">begin</span>
+ <span class="ruby-keyword">next</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@allowed_auth_methods</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">name</span>)
+ <span class="ruby-identifier">attempted</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">name</span>
+
+ <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;trying #{name}&quot;</span> }
+ <span class="ruby-keyword">begin</span>
+ <span class="ruby-identifier">method</span> = <span class="ruby-constant">Methods</span>.<span class="ruby-identifier">const_get</span>(<span class="ruby-identifier">name</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/\W+/</span>).<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">capitalize</span> }.<span class="ruby-identifier">join</span>).<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-value">:key_manager</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">key_manager</span>)
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">NameError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ne</span>
+ <span class="ruby-identifier">debug</span>{<span class="ruby-node">&quot;Mechanism #{name} was requested, but isn't a known type. Ignoring it.&quot;</span>}
+ <span class="ruby-keyword">next</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">method</span>.<span class="ruby-identifier">authenticate</span>(<span class="ruby-identifier">next_service</span>, <span class="ruby-identifier">username</span>, <span class="ruby-identifier">password</span>)
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Authentication</span><span class="ruby-operator">::</span><span class="ruby-constant">DisallowedMethod</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">error</span> { <span class="ruby-node">&quot;all authorization methods failed (tried #{attempted.join(', ')})&quot;</span> }
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span>
+<span class="ruby-keyword">ensure</span>
+ <span class="ruby-identifier">key_manager</span>.<span class="ruby-identifier">finish</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">key_manager</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- authenticate-source -->
+
+ </div>
+
+
+
+
+ </div><!-- authenticate-method -->
+
+
+ <div id="expect_message-method" class="method-detail ">
+ <a name="method-i-expect_message"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">expect_message</span><span
+ class="method-args">(type)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Blocks until a packet is received, and returns it if it is of the given
+type. If it is not, an exception is raised.</p>
+
+
+
+ <div class="method-source-code" id="expect_message-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/session.rb, line 121</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">expect_message</span>(<span class="ruby-identifier">type</span>)
+ <span class="ruby-identifier">message</span> = <span class="ruby-identifier">next_message</span>
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">message</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">type</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-node">&quot;expected #{type}, got #{message.type} (#{message})&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-identifier">message</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- expect_message-source -->
+
+ </div>
+
+
+
+
+ </div><!-- expect_message-method -->
+
+
+ <div id="next_message-method" class="method-detail ">
+ <a name="method-i-next_message"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">next_message</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Blocks until a packet is received. It silently handles USERAUTH_BANNER
+packets, and will raise an error if any packet is received that is not
+valid during user authentication.</p>
+
+
+
+ <div class="method-source-code" id="next_message-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/authentication/session.rb, line 92</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">next_message</span>
+ <span class="ruby-identifier">loop</span> <span class="ruby-keyword">do</span>
+ <span class="ruby-identifier">packet</span> = <span class="ruby-identifier">transport</span>.<span class="ruby-identifier">next_message</span>
+
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">packet</span>.<span class="ruby-identifier">type</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">USERAUTH_BANNER</span>
+ <span class="ruby-identifier">info</span> { <span class="ruby-identifier">packet</span>[<span class="ruby-value">:message</span>] }
+ <span class="ruby-comment"># TODO add a hook for people to retrieve the banner when it is sent</span>
+
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">USERAUTH_FAILURE</span>
+ <span class="ruby-ivar">@allowed_auth_methods</span> = <span class="ruby-identifier">packet</span>[<span class="ruby-value">:authentications</span>].<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/,/</span>)
+ <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;allowed methods: #{packet[:authentications]}&quot;</span> }
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">packet</span>
+
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">USERAUTH_METHOD_RANGE</span>, <span class="ruby-constant">SERVICE_ACCEPT</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">packet</span>
+
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">USERAUTH_SUCCESS</span>
+ <span class="ruby-identifier">transport</span>.<span class="ruby-identifier">hint</span> <span class="ruby-value">:authenticated</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">packet</span>
+
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-node">&quot;unexpected message #{packet.type} (#{packet})&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- next_message-source -->
+
+ </div>
+
+
+
+
+ </div><!-- next_message-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/AuthenticationFailed.html b/Net/SSH/AuthenticationFailed.html
new file mode 100644
index 0000000..9f17a9d
--- /dev/null
+++ b/Net/SSH/AuthenticationFailed.html
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::AuthenticationFailed</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/errors_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/errors.rb">lib/net/ssh/errors.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Exception.html">Net::SSH::Exception</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::AuthenticationFailed</h1>
+
+ <div id="description" class="description">
+
+<p>This exception is raised when authentication fails (whether it be public
+key authentication, password authentication, or whatever).</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Buffer.html b/Net/SSH/Buffer.html
new file mode 100644
index 0000000..35fc759
--- /dev/null
+++ b/Net/SSH/Buffer.html
@@ -0,0 +1,1847 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Buffer</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/buffer_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/buffer.rb">lib/net/ssh/buffer.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-from">::from</a></li>
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-3D-3D">#==</a></li>
+
+ <li><a href="#method-i-append">#append</a></li>
+
+ <li><a href="#method-i-available">#available</a></li>
+
+ <li><a href="#method-i-clear-21">#clear!</a></li>
+
+ <li><a href="#method-i-consume-21">#consume!</a></li>
+
+ <li><a href="#method-i-empty-3F">#empty?</a></li>
+
+ <li><a href="#method-i-eof-3F">#eof?</a></li>
+
+ <li><a href="#method-i-length">#length</a></li>
+
+ <li><a href="#method-i-read">#read</a></li>
+
+ <li><a href="#method-i-read-21">#read!</a></li>
+
+ <li><a href="#method-i-read_bignum">#read_bignum</a></li>
+
+ <li><a href="#method-i-read_bool">#read_bool</a></li>
+
+ <li><a href="#method-i-read_buffer">#read_buffer</a></li>
+
+ <li><a href="#method-i-read_byte">#read_byte</a></li>
+
+ <li><a href="#method-i-read_int64">#read_int64</a></li>
+
+ <li><a href="#method-i-read_key">#read_key</a></li>
+
+ <li><a href="#method-i-read_keyblob">#read_keyblob</a></li>
+
+ <li><a href="#method-i-read_long">#read_long</a></li>
+
+ <li><a href="#method-i-read_string">#read_string</a></li>
+
+ <li><a href="#method-i-read_to">#read_to</a></li>
+
+ <li><a href="#method-i-remainder_as_buffer">#remainder_as_buffer</a></li>
+
+ <li><a href="#method-i-reset-21">#reset!</a></li>
+
+ <li><a href="#method-i-to_s">#to_s</a></li>
+
+ <li><a href="#method-i-write">#write</a></li>
+
+ <li><a href="#method-i-write_bignum">#write_bignum</a></li>
+
+ <li><a href="#method-i-write_bool">#write_bool</a></li>
+
+ <li><a href="#method-i-write_byte">#write_byte</a></li>
+
+ <li><a href="#method-i-write_int64">#write_int64</a></li>
+
+ <li><a href="#method-i-write_key">#write_key</a></li>
+
+ <li><a href="#method-i-write_long">#write_long</a></li>
+
+ <li><a href="#method-i-write_string">#write_string</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Buffer</h1>
+
+ <div id="description" class="description">
+
+<p><a href="Buffer.html">Net::SSH::Buffer</a> is a flexible class for building
+and parsing binary data packets. It provides a stream-like interface for
+sequentially reading data items <a
+href="Buffer.html#method-c-from">from</a> the buffer, as well as a useful
+helper method for building binary packets given a signature.</p>
+
+<p>Writing to a buffer always appends to the end, regardless of where the <a
+href="Buffer.html#method-i-read">read</a> cursor is. Reading, on the other
+hand, always begins at the first byte of the buffer and increments the <a
+href="Buffer.html#method-i-read">read</a> cursor, with subsequent reads
+taking up where the last left off.</p>
+
+<p>As a consumer of the <a href="../SSH.html">Net::SSH</a> library, you will
+rarely come into contact with these buffer objects directly, but it could
+happen. Also, if you are ever implementing a protocol on top of <a
+href="../SSH.html">SSH</a> (e.g. SFTP), this buffer class can be quite
+handy.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="content-attribute-method" class="method-detail">
+ <a name="content"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">content</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>exposes the raw <a href="Buffer.html#attribute-i-content">content</a> of
+the buffer</p>
+
+ </div>
+ </div>
+
+ <div id="position-attribute-method" class="method-detail">
+ <a name="position"></a>
+
+ <a name="position="></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">position</span><span
+ class="attribute-access-type">[RW]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>the current <a href="Buffer.html#attribute-i-position">position</a> of the
+pointer in the buffer</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="from-method" class="method-detail ">
+ <a name="method-c-from"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">from</span><span
+ class="method-args">(*args)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>This is a convenience method for creating and populating a <a
+href="Buffer.html#method-c-new">new</a> buffer <a
+href="Buffer.html#method-c-from">from</a> a single command. The arguments
+must be even in <a href="Buffer.html#method-i-length">length</a>, with the
+first of each pair of arguments being a symbol naming the type of the data
+that follows. If the type is :raw, the value is written directly to the
+hash.</p>
+
+<pre>b = Buffer.from(:byte, 1, :string, &quot;hello&quot;, :raw, &quot;\1\2\3\4&quot;)
+#-&gt; &quot;\1\0\0\0\5hello\1\2\3\4&quot;</pre>
+
+<p>The supported data types are:</p>
+<ul><li>
+<p>:raw =&gt; <a href="Buffer.html#method-i-write">write</a> the next value
+verbatim (#<a href="Buffer.html#method-i-write">write</a>)</p>
+</li><li>
+<p>:int64 =&gt; <a href="Buffer.html#method-i-write">write</a> an 8-byte
+integer (#<a href="Buffer.html#method-i-write_int64">write_int64</a>)</p>
+</li><li>
+<p>:long =&gt; <a href="Buffer.html#method-i-write">write</a> a 4-byte integer
+(#<a href="Buffer.html#method-i-write_long">write_long</a>)</p>
+</li><li>
+<p>:byte =&gt; <a href="Buffer.html#method-i-write">write</a> a single byte
+(#<a href="Buffer.html#method-i-write_byte">write_byte</a>)</p>
+</li><li>
+<p>:string =&gt; <a href="Buffer.html#method-i-write">write</a> a 4-byte <a
+href="Buffer.html#method-i-length">length</a> followed by character data
+(#<a href="Buffer.html#method-i-write_string">write_string</a>)</p>
+</li><li>
+<p>:bool =&gt; <a href="Buffer.html#method-i-write">write</a> a single byte,
+interpreted as a boolean (#<a
+href="Buffer.html#method-i-write_bool">write_bool</a>)</p>
+</li><li>
+<p>:bignum =&gt; <a href="Buffer.html#method-i-write">write</a> an SSH-encoded
+bignum (#<a href="Buffer.html#method-i-write_bignum">write_bignum</a>)</p>
+</li><li>
+<p>:key =&gt; <a href="Buffer.html#method-i-write">write</a> an SSH-encoded
+key value (#<a href="Buffer.html#method-i-write_key">write_key</a>)</p>
+</li></ul>
+
+<p>Any of these, except for :raw, accepts an Array argument, to make it easier
+to <a href="Buffer.html#method-i-write">write</a> multiple values of the
+same type in a briefer manner.</p>
+
+
+
+ <div class="method-source-code" id="from-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 43</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">from</span>(*<span class="ruby-identifier">args</span>)
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-string">&quot;odd number of arguments given&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">%</span> <span class="ruby-value">2</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
+
+ <span class="ruby-identifier">buffer</span> = <span class="ruby-identifier">new</span>
+ <span class="ruby-value">0</span>.<span class="ruby-identifier">step</span>(<span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>, <span class="ruby-value">2</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">index</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">type</span> = <span class="ruby-identifier">args</span>[<span class="ruby-identifier">index</span>]
+ <span class="ruby-identifier">value</span> = <span class="ruby-identifier">args</span>[<span class="ruby-identifier">index</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>]
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value">:raw</span>
+ <span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">append</span>(<span class="ruby-identifier">value</span>.<span class="ruby-identifier">to_s</span>)
+ <span class="ruby-keyword">elsif</span> <span class="ruby-constant">Array</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">value</span>
+ <span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;write_#{type}&quot;</span>, *<span class="ruby-identifier">value</span>)
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;write_#{type}&quot;</span>, <span class="ruby-identifier">value</span>)
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">buffer</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- from-source -->
+
+ </div>
+
+
+
+
+ </div><!-- from-method -->
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(content="")</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Creates a <a href="Buffer.html#method-c-new">new</a> buffer, initialized to
+the given <a href="Buffer.html#attribute-i-content">content</a>. The <a
+href="Buffer.html#attribute-i-position">position</a> is initialized to the
+beginning of the buffer.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 70</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">content</span>=<span class="ruby-string">&quot;&quot;</span>)
+ <span class="ruby-ivar">@content</span> = <span class="ruby-identifier">content</span>.<span class="ruby-identifier">to_s</span>
+ <span class="ruby-ivar">@position</span> = <span class="ruby-value">0</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="3D-3D-method" class="method-detail ">
+ <a name="method-i-3D-3D"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">==</span><span
+ class="method-args">(buffer)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Compares the contents of the two buffers, returning <tt>true</tt> only if
+they are identical in size and <a
+href="Buffer.html#attribute-i-content">content</a>.</p>
+
+
+
+ <div class="method-source-code" id="3D-3D-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 93</span>
+<span class="ruby-keyword">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">buffer</span>)
+ <span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">to_s</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- 3D-3D-source -->
+
+ </div>
+
+
+
+
+ </div><!-- 3D-3D-method -->
+
+
+ <div id="append-method" class="method-detail ">
+ <a name="method-i-append"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">append</span><span
+ class="method-args">(text)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Appends the given text to the end of the buffer. Does not alter the <a
+href="Buffer.html#method-i-read">read</a> <a
+href="Buffer.html#attribute-i-position">position</a>. Returns the buffer
+object itself.</p>
+
+
+
+ <div class="method-source-code" id="append-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 142</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">append</span>(<span class="ruby-identifier">text</span>)
+ <span class="ruby-ivar">@content</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">text</span>
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- append-source -->
+
+ </div>
+
+
+
+
+ </div><!-- append-method -->
+
+
+ <div id="available-method" class="method-detail ">
+ <a name="method-i-available"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">available</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns the number of bytes <a
+href="Buffer.html#method-i-available">available</a> to be <a
+href="Buffer.html#method-i-read">read</a> (e.g., how many bytes remain
+between the current <a href="Buffer.html#attribute-i-position">position</a>
+and the end of the buffer).</p>
+
+
+
+ <div class="method-source-code" id="available-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 82</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">available</span>
+ <span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">position</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- available-source -->
+
+ </div>
+
+
+
+
+ </div><!-- available-method -->
+
+
+ <div id="clear-21-method" class="method-detail ">
+ <a name="method-i-clear-21"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">clear!</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Resets the buffer, making it empty. Also, resets the <a
+href="Buffer.html#method-i-read">read</a> <a
+href="Buffer.html#attribute-i-position">position</a> to 0.</p>
+
+
+
+ <div class="method-source-code" id="clear-21-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 116</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">clear!</span>
+ <span class="ruby-ivar">@content</span> = <span class="ruby-string">&quot;&quot;</span>
+ <span class="ruby-ivar">@position</span> = <span class="ruby-value">0</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- clear-21-source -->
+
+ </div>
+
+
+
+
+ </div><!-- clear-21-method -->
+
+
+ <div id="consume-21-method" class="method-detail ">
+ <a name="method-i-consume-21"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">consume!</span><span
+ class="method-args">(n=position)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Consumes n bytes <a href="Buffer.html#method-c-from">from</a> the buffer,
+where n is the current <a
+href="Buffer.html#attribute-i-position">position</a> unless otherwise
+specified. This is useful for removing data <a
+href="Buffer.html#method-c-from">from</a> the buffer that has previously
+been <a href="Buffer.html#method-i-read">read</a>, when you are expecting
+more data to be appended. It helps to keep the size of buffers down when
+they would otherwise tend to grow without bound.</p>
+
+<p>Returns the buffer object itself.</p>
+
+
+
+ <div class="method-source-code" id="consume-21-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 128</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">consume!</span>(<span class="ruby-identifier">n</span>=<span class="ruby-identifier">position</span>)
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">length</span>
+ <span class="ruby-comment"># optimize for a fairly common case</span>
+ <span class="ruby-identifier">clear!</span>
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
+ <span class="ruby-ivar">@content</span> = <span class="ruby-ivar">@content</span>[<span class="ruby-identifier">n</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&quot;&quot;</span>
+ <span class="ruby-ivar">@position</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">n</span>
+ <span class="ruby-ivar">@position</span> = <span class="ruby-value">0</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@position</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- consume-21-source -->
+
+ </div>
+
+
+
+
+ </div><!-- consume-21-method -->
+
+
+ <div id="empty-3F-method" class="method-detail ">
+ <a name="method-i-empty-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">empty?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns <tt>true</tt> if the buffer contains no data (e.g., it is of zero
+<a href="Buffer.html#method-i-length">length</a>).</p>
+
+
+
+ <div class="method-source-code" id="empty-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 98</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">empty?</span>
+ <span class="ruby-ivar">@content</span>.<span class="ruby-identifier">empty?</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- empty-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- empty-3F-method -->
+
+
+ <div id="eof-3F-method" class="method-detail ">
+ <a name="method-i-eof-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">eof?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns true if the pointer is at the end of the buffer. Subsequent reads
+will return nil, in this case.</p>
+
+
+
+ <div class="method-source-code" id="eof-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 110</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">eof?</span>
+ <span class="ruby-ivar">@position</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">length</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- eof-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- eof-3F-method -->
+
+
+ <div id="length-method" class="method-detail ">
+ <a name="method-i-length"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">length</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns the <a href="Buffer.html#method-i-length">length</a> of the
+buffer’s <a href="Buffer.html#attribute-i-content">content</a>.</p>
+
+
+
+ <div class="method-source-code" id="length-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 76</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">length</span>
+ <span class="ruby-ivar">@content</span>.<span class="ruby-identifier">length</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- length-source -->
+
+ </div>
+
+
+
+
+ </div><!-- length-method -->
+
+
+ <div id="read-method" class="method-detail ">
+ <a name="method-i-read"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">read</span><span
+ class="method-args">(count=nil)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Reads and returns the next <tt>count</tt> bytes <a
+href="Buffer.html#method-c-from">from</a> the buffer, starting <a
+href="Buffer.html#method-c-from">from</a> the <a
+href="Buffer.html#method-i-read">read</a> <a
+href="Buffer.html#attribute-i-position">position</a>. If <tt>count</tt> is
+<tt>nil</tt>, this will return all remaining text in the buffer. This
+method will increment the pointer.</p>
+
+
+
+ <div class="method-source-code" id="read-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 171</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">read</span>(<span class="ruby-identifier">count</span>=<span class="ruby-keyword">nil</span>)
+ <span class="ruby-identifier">count</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">length</span>
+ <span class="ruby-identifier">count</span> = <span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@position</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@position</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">count</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">length</span>
+ <span class="ruby-ivar">@position</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">count</span>
+ <span class="ruby-ivar">@content</span>[<span class="ruby-ivar">@position</span><span class="ruby-operator">-</span><span class="ruby-identifier">count</span>, <span class="ruby-identifier">count</span>]
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- read-source -->
+
+ </div>
+
+
+
+
+ </div><!-- read-method -->
+
+
+ <div id="read-21-method" class="method-detail ">
+ <a name="method-i-read-21"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">read!</span><span
+ class="method-args">(count=nil)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Reads (as #<a href="Buffer.html#method-i-read">read</a>) and returns the
+given number of bytes <a href="Buffer.html#method-c-from">from</a> the
+buffer, and then consumes (as #<a
+href="Buffer.html#method-i-consume-21">consume!</a>) all data up to the <a
+href="Buffer.html#method-c-new">new</a> <a
+href="Buffer.html#method-i-read">read</a> <a
+href="Buffer.html#attribute-i-position">position</a>.</p>
+
+
+
+ <div class="method-source-code" id="read-21-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 180</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">read!</span>(<span class="ruby-identifier">count</span>=<span class="ruby-keyword">nil</span>)
+ <span class="ruby-identifier">data</span> = <span class="ruby-identifier">read</span>(<span class="ruby-identifier">count</span>)
+ <span class="ruby-identifier">consume!</span>
+ <span class="ruby-identifier">data</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- read-21-source -->
+
+ </div>
+
+
+
+
+ </div><!-- read-21-method -->
+
+
+ <div id="read_bignum-method" class="method-detail ">
+ <a name="method-i-read_bignum"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">read_bignum</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Read a bignum (<a href="../../OpenSSL/BN.html">OpenSSL::BN</a>) <a
+href="Buffer.html#method-c-from">from</a> the buffer, in SSH2 format. It is
+essentially just a string, which is reinterpreted to be a bignum in binary
+format.</p>
+
+
+
+ <div class="method-source-code" id="read_bignum-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 228</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">read_bignum</span>
+ <span class="ruby-identifier">data</span> = <span class="ruby-identifier">read_string</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">data</span>
+ <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">BN</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">data</span>, <span class="ruby-value">2</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- read_bignum-source -->
+
+ </div>
+
+
+
+
+ </div><!-- read_bignum-method -->
+
+
+ <div id="read_bool-method" class="method-detail ">
+ <a name="method-i-read_bool"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">read_bool</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Read a single byte and convert it into a boolean, using ‘C’ rules (i.e.,
+zero is false, non-zero is true).</p>
+
+
+
+ <div class="method-source-code" id="read_bool-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 220</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">read_bool</span>
+ <span class="ruby-identifier">b</span> = <span class="ruby-identifier">read_byte</span> <span class="ruby-keyword">or</span> <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span>
+ <span class="ruby-identifier">b</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- read_bool-source -->
+
+ </div>
+
+
+
+
+ </div><!-- read_bool-method -->
+
+
+ <div id="read_buffer-method" class="method-detail ">
+ <a name="method-i-read_buffer"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">read_buffer</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Reads the next string <a href="Buffer.html#method-c-from">from</a> the
+buffer, and returns a <a href="Buffer.html#method-c-new">new</a> <a
+href="Buffer.html">Buffer</a> object that wraps it.</p>
+
+
+
+ <div class="method-source-code" id="read_buffer-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 277</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">read_buffer</span>
+ <span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">read_string</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- read_buffer-source -->
+
+ </div>
+
+
+
+
+ </div><!-- read_buffer-method -->
+
+
+ <div id="read_byte-method" class="method-detail ">
+ <a name="method-i-read_byte"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">read_byte</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Read and return the next byte in the buffer. Returns nil if called at the
+end of the buffer.</p>
+
+
+
+ <div class="method-source-code" id="read_byte-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 205</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">read_byte</span>
+ <span class="ruby-identifier">b</span> = <span class="ruby-identifier">read</span>(<span class="ruby-value">1</span>) <span class="ruby-keyword">or</span> <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span>
+ <span class="ruby-identifier">b</span>.<span class="ruby-identifier">getbyte</span>(<span class="ruby-value">0</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- read_byte-source -->
+
+ </div>
+
+
+
+
+ </div><!-- read_byte-method -->
+
+
+ <div id="read_int64-method" class="method-detail ">
+ <a name="method-i-read_int64"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">read_int64</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Return the next 8 bytes as a 64-bit integer (in network byte order).
+Returns nil if there are less than 8 bytes remaining to be <a
+href="Buffer.html#method-i-read">read</a> in the buffer.</p>
+
+
+
+ <div class="method-source-code" id="read_int64-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 189</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">read_int64</span>
+ <span class="ruby-identifier">hi</span> = <span class="ruby-identifier">read_long</span> <span class="ruby-keyword">or</span> <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span>
+ <span class="ruby-identifier">lo</span> = <span class="ruby-identifier">read_long</span> <span class="ruby-keyword">or</span> <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span>
+ <span class="ruby-keyword">return</span> (<span class="ruby-identifier">hi</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">32</span>) <span class="ruby-operator">+</span> <span class="ruby-identifier">lo</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- read_int64-source -->
+
+ </div>
+
+
+
+
+ </div><!-- read_int64-method -->
+
+
+ <div id="read_key-method" class="method-detail ">
+ <a name="method-i-read_key"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">read_key</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Read a key <a href="Buffer.html#method-c-from">from</a> the buffer. The key
+will start with a string describing its type. The remainder of the key is
+defined by the type that was <a href="Buffer.html#method-i-read">read</a>.</p>
+
+
+
+ <div class="method-source-code" id="read_key-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 237</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">read_key</span>
+ <span class="ruby-identifier">type</span> = <span class="ruby-identifier">read_string</span>
+ <span class="ruby-keyword">return</span> (<span class="ruby-identifier">type</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">read_keyblob</span>(<span class="ruby-identifier">type</span>) <span class="ruby-operator">:</span> <span class="ruby-keyword">nil</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- read_key-source -->
+
+ </div>
+
+
+
+
+ </div><!-- read_key-method -->
+
+
+ <div id="read_keyblob-method" class="method-detail ">
+ <a name="method-i-read_keyblob"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">read_keyblob</span><span
+ class="method-args">(type)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Read a keyblob of the given type <a
+href="Buffer.html#method-c-from">from</a> the buffer, and return it as a
+key. Only RSA, DSA, and ECDSA keys are supported.</p>
+
+
+
+ <div class="method-source-code" id="read_keyblob-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 244</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">read_keyblob</span>(<span class="ruby-identifier">type</span>)
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">type</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&quot;ssh-dss&quot;</span>
+ <span class="ruby-identifier">key</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">DSA</span>.<span class="ruby-identifier">new</span>
+ <span class="ruby-identifier">key</span>.<span class="ruby-identifier">p</span> = <span class="ruby-identifier">read_bignum</span>
+ <span class="ruby-identifier">key</span>.<span class="ruby-identifier">q</span> = <span class="ruby-identifier">read_bignum</span>
+ <span class="ruby-identifier">key</span>.<span class="ruby-identifier">g</span> = <span class="ruby-identifier">read_bignum</span>
+ <span class="ruby-identifier">key</span>.<span class="ruby-identifier">pub_key</span> = <span class="ruby-identifier">read_bignum</span>
+
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&quot;ssh-rsa&quot;</span>
+ <span class="ruby-identifier">key</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">RSA</span>.<span class="ruby-identifier">new</span>
+ <span class="ruby-identifier">key</span>.<span class="ruby-identifier">e</span> = <span class="ruby-identifier">read_bignum</span>
+ <span class="ruby-identifier">key</span>.<span class="ruby-identifier">n</span> = <span class="ruby-identifier">read_bignum</span>
+
+ <span class="ruby-keyword">when</span> <span class="ruby-regexp">/^ecdsa\-sha2\-(\w*)$/</span>
+ <span class="ruby-keyword">unless</span> <span class="ruby-keyword">defined?</span>(<span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">EC</span>)
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>, <span class="ruby-node">&quot;unsupported key type `#{type}'&quot;</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-keyword">begin</span>
+ <span class="ruby-identifier">key</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">EC</span>.<span class="ruby-identifier">read_keyblob</span>(<span class="ruby-node">$1</span>, <span class="ruby-keyword">self</span>)
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">ECError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>, <span class="ruby-node">&quot;unsupported key type `#{type}'&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>, <span class="ruby-node">&quot;unsupported key type `#{type}'&quot;</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">key</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- read_keyblob-source -->
+
+ </div>
+
+
+
+
+ </div><!-- read_keyblob-method -->
+
+
+ <div id="read_long-method" class="method-detail ">
+ <a name="method-i-read_long"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">read_long</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Return the next four bytes as a long integer (in network byte order).
+Returns nil if there are less than 4 bytes remaining to be <a
+href="Buffer.html#method-i-read">read</a> in the buffer.</p>
+
+
+
+ <div class="method-source-code" id="read_long-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 198</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">read_long</span>
+ <span class="ruby-identifier">b</span> = <span class="ruby-identifier">read</span>(<span class="ruby-value">4</span>) <span class="ruby-keyword">or</span> <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span>
+ <span class="ruby-identifier">b</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&quot;N&quot;</span>).<span class="ruby-identifier">first</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- read_long-source -->
+
+ </div>
+
+
+
+
+ </div><!-- read_long-method -->
+
+
+ <div id="read_string-method" class="method-detail ">
+ <a name="method-i-read_string"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">read_string</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Read and return an SSH2-encoded string. The string starts with a long
+integer that describes the number of bytes remaining in the string. Returns
+nil if there are not enough bytes to satisfy the request.</p>
+
+
+
+ <div class="method-source-code" id="read_string-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 213</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">read_string</span>
+ <span class="ruby-identifier">length</span> = <span class="ruby-identifier">read_long</span> <span class="ruby-keyword">or</span> <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span>
+ <span class="ruby-identifier">read</span>(<span class="ruby-identifier">length</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- read_string-source -->
+
+ </div>
+
+
+
+
+ </div><!-- read_string-method -->
+
+
+ <div id="read_to-method" class="method-detail ">
+ <a name="method-i-read_to"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">read_to</span><span
+ class="method-args">(pattern)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Reads all data up to and including the given pattern, which may be a <a
+href="../../String.html">String</a>, Fixnum, or Regexp and is interpreted
+exactly as String#index does. Returns nil if nothing matches. Increments
+the <a href="Buffer.html#attribute-i-position">position</a> to point
+immediately after the pattern, if it does match. Returns all data up to and
+including the text that matched the pattern.</p>
+
+
+
+ <div class="method-source-code" id="read_to-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 158</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">read_to</span>(<span class="ruby-identifier">pattern</span>)
+ <span class="ruby-identifier">index</span> = <span class="ruby-ivar">@content</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">pattern</span>, <span class="ruby-ivar">@position</span>) <span class="ruby-keyword">or</span> <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span>
+ <span class="ruby-identifier">length</span> = <span class="ruby-keyword">case</span> <span class="ruby-identifier">pattern</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">String</span> <span class="ruby-keyword">then</span> <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">length</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">Fixnum</span> <span class="ruby-keyword">then</span> <span class="ruby-value">1</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">Regexp</span> <span class="ruby-keyword">then</span> <span class="ruby-node">$&amp;</span>.<span class="ruby-identifier">length</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-identifier">index</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">read</span>(<span class="ruby-identifier">index</span><span class="ruby-operator">+</span><span class="ruby-identifier">length</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- read_to-source -->
+
+ </div>
+
+
+
+
+ </div><!-- read_to-method -->
+
+
+ <div id="remainder_as_buffer-method" class="method-detail ">
+ <a name="method-i-remainder_as_buffer"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">remainder_as_buffer</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns all text <a href="Buffer.html#method-c-from">from</a> the current
+pointer to the end of the buffer as a <a
+href="Buffer.html#method-c-new">new</a> <a
+href="Buffer.html">Net::SSH::Buffer</a> object.</p>
+
+
+
+ <div class="method-source-code" id="remainder_as_buffer-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 149</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">remainder_as_buffer</span>
+ <span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@content</span>[<span class="ruby-ivar">@position</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>])
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- remainder_as_buffer-source -->
+
+ </div>
+
+
+
+
+ </div><!-- remainder_as_buffer-method -->
+
+
+ <div id="reset-21-method" class="method-detail ">
+ <a name="method-i-reset-21"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">reset!</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Resets the pointer to the start of the buffer. Subsequent reads will begin
+at <a href="Buffer.html#attribute-i-position">position</a> 0.</p>
+
+
+
+ <div class="method-source-code" id="reset-21-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 104</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">reset!</span>
+ <span class="ruby-ivar">@position</span> = <span class="ruby-value">0</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- reset-21-source -->
+
+ </div>
+
+
+
+
+ </div><!-- reset-21-method -->
+
+
+ <div id="to_s-method" class="method-detail ">
+ <a name="method-i-to_s"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">to_s</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns a copy of the buffer’s <a
+href="Buffer.html#attribute-i-content">content</a>.</p>
+
+
+
+ <div class="method-source-code" id="to_s-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 87</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_s</span>
+ (<span class="ruby-ivar">@content</span> <span class="ruby-operator">||</span> <span class="ruby-string">&quot;&quot;</span>).<span class="ruby-identifier">dup</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- to_s-source -->
+
+ </div>
+
+
+
+
+ </div><!-- to_s-method -->
+
+
+ <div id="write-method" class="method-detail ">
+ <a name="method-i-write"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">write</span><span
+ class="method-args">(*data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Writes the given data literally into the string. Does not alter the <a
+href="Buffer.html#method-i-read">read</a> <a
+href="Buffer.html#attribute-i-position">position</a>. Returns the buffer
+object.</p>
+
+
+
+ <div class="method-source-code" id="write-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 283</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">write</span>(*<span class="ruby-identifier">data</span>)
+ <span class="ruby-identifier">data</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">datum</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@content</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">datum</span> }
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- write-source -->
+
+ </div>
+
+
+
+
+ </div><!-- write-method -->
+
+
+ <div id="write_bignum-method" class="method-detail ">
+ <a name="method-i-write_bignum"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">write_bignum</span><span
+ class="method-args">(*n)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Writes each argument to the buffer as a bignum (SSH2-style). No checking is
+done to ensure that the arguments are, in fact, bignums. Does not alter the
+<a href="Buffer.html#method-i-read">read</a> <a
+href="Buffer.html#attribute-i-position">position</a>. Returns the buffer
+object.</p>
+
+
+
+ <div class="method-source-code" id="write_bignum-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 338</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">write_bignum</span>(*<span class="ruby-identifier">n</span>)
+ <span class="ruby-ivar">@content</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">to_ssh</span> }.<span class="ruby-identifier">join</span>
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- write_bignum-source -->
+
+ </div>
+
+
+
+
+ </div><!-- write_bignum-method -->
+
+
+ <div id="write_bool-method" class="method-detail ">
+ <a name="method-i-write_bool"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">write_bool</span><span
+ class="method-args">(*b)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Writes each argument to the buffer as a (C-style) boolean, with 1 meaning
+true, and 0 meaning false. Does not alter the <a
+href="Buffer.html#method-i-read">read</a> <a
+href="Buffer.html#attribute-i-position">position</a>. Returns the buffer
+object.</p>
+
+
+
+ <div class="method-source-code" id="write_bool-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 330</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">write_bool</span>(*<span class="ruby-identifier">b</span>)
+ <span class="ruby-identifier">b</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@content</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">v</span> <span class="ruby-operator">?</span> <span class="ruby-string">&quot;\11&quot;&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-string">&quot;\00&quot;&quot;</span>) }
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- write_bool-source -->
+
+ </div>
+
+
+
+
+ </div><!-- write_bool-method -->
+
+
+ <div id="write_byte-method" class="method-detail ">
+ <a name="method-i-write_byte"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">write_byte</span><span
+ class="method-args">(*n)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Writes each argument to the buffer as a byte. Does not alter the <a
+href="Buffer.html#method-i-read">read</a> <a
+href="Buffer.html#attribute-i-position">position</a>. Returns the buffer
+object.</p>
+
+
+
+ <div class="method-source-code" id="write_byte-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 310</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">write_byte</span>(*<span class="ruby-identifier">n</span>)
+ <span class="ruby-identifier">n</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@content</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">chr</span> }
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- write_byte-source -->
+
+ </div>
+
+
+
+
+ </div><!-- write_byte-method -->
+
+
+ <div id="write_int64-method" class="method-detail ">
+ <a name="method-i-write_int64"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">write_int64</span><span
+ class="method-args">(*n)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Writes each argument to the buffer as a network-byte-order-encoded 64-bit
+integer (8 bytes). Does not alter the <a
+href="Buffer.html#method-i-read">read</a> <a
+href="Buffer.html#attribute-i-position">position</a>. Returns the buffer
+object.</p>
+
+
+
+ <div class="method-source-code" id="write_int64-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 291</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">write_int64</span>(*<span class="ruby-identifier">n</span>)
+ <span class="ruby-identifier">n</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">hi</span> = (<span class="ruby-identifier">i</span> <span class="ruby-operator">&gt;&gt;</span> <span class="ruby-value">32</span>) &amp; <span class="ruby-value">0xFFFFFFFF</span>
+ <span class="ruby-identifier">lo</span> = <span class="ruby-identifier">i</span> &amp; <span class="ruby-value">0xFFFFFFFF</span>
+ <span class="ruby-ivar">@content</span> <span class="ruby-operator">&lt;&lt;</span> [<span class="ruby-identifier">hi</span>, <span class="ruby-identifier">lo</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;N2&quot;</span>)
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- write_int64-source -->
+
+ </div>
+
+
+
+
+ </div><!-- write_int64-method -->
+
+
+ <div id="write_key-method" class="method-detail ">
+ <a name="method-i-write_key"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">write_key</span><span
+ class="method-args">(*key)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Writes the given arguments to the buffer as SSH2-encoded keys. Does not
+alter the <a href="Buffer.html#method-i-read">read</a> <a
+href="Buffer.html#attribute-i-position">position</a>. Returns the buffer
+object.</p>
+
+
+
+ <div class="method-source-code" id="write_key-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 345</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">write_key</span>(*<span class="ruby-identifier">key</span>)
+ <span class="ruby-identifier">key</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">append</span>(<span class="ruby-identifier">k</span>.<span class="ruby-identifier">to_blob</span>) }
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- write_key-source -->
+
+ </div>
+
+
+
+
+ </div><!-- write_key-method -->
+
+
+ <div id="write_long-method" class="method-detail ">
+ <a name="method-i-write_long"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">write_long</span><span
+ class="method-args">(*n)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Writes each argument to the buffer as a network-byte-order-encoded long
+(4-byte) integer. Does not alter the <a
+href="Buffer.html#method-i-read">read</a> <a
+href="Buffer.html#attribute-i-position">position</a>. Returns the buffer
+object.</p>
+
+
+
+ <div class="method-source-code" id="write_long-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 303</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">write_long</span>(*<span class="ruby-identifier">n</span>)
+ <span class="ruby-ivar">@content</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;N*&quot;</span>)
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- write_long-source -->
+
+ </div>
+
+
+
+
+ </div><!-- write_long-method -->
+
+
+ <div id="write_string-method" class="method-detail ">
+ <a name="method-i-write_string"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">write_string</span><span
+ class="method-args">(*text)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Writes each argument to the buffer as an SSH2-encoded string. Each string
+is prefixed by its <a href="Buffer.html#method-i-length">length</a>,
+encoded as a 4-byte long integer. Does not alter the <a
+href="Buffer.html#method-i-read">read</a> <a
+href="Buffer.html#attribute-i-position">position</a>. Returns the buffer
+object.</p>
+
+
+
+ <div class="method-source-code" id="write_string-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffer.rb, line 318</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">write_string</span>(*<span class="ruby-identifier">text</span>)
+ <span class="ruby-identifier">text</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">string</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">s</span> = <span class="ruby-identifier">string</span>.<span class="ruby-identifier">to_s</span>
+ <span class="ruby-identifier">write_long</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">bytesize</span>)
+ <span class="ruby-identifier">write</span>(<span class="ruby-identifier">s</span>)
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- write_string-source -->
+
+ </div>
+
+
+
+
+ </div><!-- write_string-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/BufferedIo.html b/Net/SSH/BufferedIo.html
new file mode 100644
index 0000000..d4bd4bf
--- /dev/null
+++ b/Net/SSH/BufferedIo.html
@@ -0,0 +1,732 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::BufferedIo</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/buffered_io_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/buffered_io.rb">lib/net/ssh/buffered_io.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-available">#available</a></li>
+
+ <li><a href="#method-i-enqueue">#enqueue</a></li>
+
+ <li><a href="#method-i-fill">#fill</a></li>
+
+ <li><a href="#method-i-pending_write-3F">#pending_write?</a></li>
+
+ <li><a href="#method-i-read_available">#read_available</a></li>
+
+ <li><a href="#method-i-send_pending">#send_pending</a></li>
+
+ <li><a href="#method-i-wait_for_pending_sends">#wait_for_pending_sends</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="Loggable.html">Net::SSH::Loggable</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::BufferedIo</h1>
+
+ <div id="description" class="description">
+
+<p>This module is used to extend sockets and other IO objects, to allow them
+to be buffered for both read and write. This abstraction makes it quite
+easy to write a select-based event loop (see <a
+href="Connection/Session.html#method-i-listen_to">Net::SSH::Connection::Session#listen_to</a>).</p>
+
+<p>The general idea is that instead of calling #read directly on an IO that
+has been extended with this module, you call #<a
+href="BufferedIo.html#method-i-fill">fill</a> (to add pending input to the
+internal read buffer), and then #<a
+href="BufferedIo.html#method-i-read_available">read_available</a> (to read
+from that buffer). Likewise, you don’t call #write directly, you call #<a
+href="BufferedIo.html#method-i-enqueue">enqueue</a> to add data to the
+write buffer, and then #<a
+href="BufferedIo.html#method-i-send_pending">send_pending</a> or #<a
+href="BufferedIo.html#method-i-wait_for_pending_sends">wait_for_pending_sends</a>
+to actually send the data across the wire.</p>
+
+<p>In this way you can easily use the object as an argument to IO.select,
+calling #<a href="BufferedIo.html#method-i-fill">fill</a> when it is <a
+href="BufferedIo.html#method-i-available">available</a> for read, or #<a
+href="BufferedIo.html#method-i-send_pending">send_pending</a> when it is <a
+href="BufferedIo.html#method-i-available">available</a> for write, and then
+call #<a href="BufferedIo.html#method-i-enqueue">enqueue</a> and #<a
+href="BufferedIo.html#method-i-read_available">read_available</a> during
+the idle times.</p>
+
+<pre>socket = TCPSocket.new(address, port)
+socket.extend(Net::SSH::BufferedIo)
+
+ssh.listen_to(socket)
+
+ssh.loop do
+ if socket.available &gt; 0
+ puts socket.read_available
+ socket.enqueue(&quot;response\n&quot;)
+ end
+end</pre>
+
+<p>Note that this module must be used to extend an instance, and should not be
+included in a class. If you do want to use it via an include, then you must
+make sure to invoke the private #initialize_buffered_io method in your
+class’ #initialize method:</p>
+
+<pre>class Foo &lt; IO
+ include Net::SSH::BufferedIo
+
+ def initialize
+ initialize_buffered_io
+ # ...
+ end
+end</pre>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="available-method" class="method-detail ">
+ <a name="method-i-available"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">available</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns the number of bytes <a
+href="BufferedIo.html#method-i-available">available</a> to be read from the
+input buffer. (See #<a
+href="BufferedIo.html#method-i-read_available">read_available</a>.)</p>
+
+
+
+ <div class="method-source-code" id="available-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffered_io.rb, line 79</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">available</span>
+ <span class="ruby-identifier">input</span>.<span class="ruby-identifier">available</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- available-source -->
+
+ </div>
+
+
+
+
+ </div><!-- available-method -->
+
+
+ <div id="enqueue-method" class="method-detail ">
+ <a name="method-i-enqueue"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">enqueue</span><span
+ class="method-args">(data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Enqueues data in the output buffer, to be written when #<a
+href="BufferedIo.html#method-i-send_pending">send_pending</a> is called.
+Note that the data is <em>not</em> sent immediately by this method!</p>
+
+
+
+ <div class="method-source-code" id="enqueue-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffered_io.rb, line 85</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">enqueue</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-identifier">output</span>.<span class="ruby-identifier">append</span>(<span class="ruby-identifier">data</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- enqueue-source -->
+
+ </div>
+
+
+
+
+ </div><!-- enqueue-method -->
+
+
+ <div id="fill-method" class="method-detail ">
+ <a name="method-i-fill"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">fill</span><span
+ class="method-args">(n=8192)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Tries to read up to <tt>n</tt> bytes of data from the remote end, and
+appends the data to the input buffer. It returns the number of bytes read,
+or 0 if no data was <a
+href="BufferedIo.html#method-i-available">available</a> to be read.</p>
+
+
+
+ <div class="method-source-code" id="fill-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffered_io.rb, line 63</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">fill</span>(<span class="ruby-identifier">n</span>=<span class="ruby-value">8192</span>)
+ <span class="ruby-identifier">input</span>.<span class="ruby-identifier">consume!</span>
+ <span class="ruby-identifier">data</span> = <span class="ruby-identifier">recv</span>(<span class="ruby-identifier">n</span>)
+ <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;read #{data.length} bytes&quot;</span> }
+ <span class="ruby-identifier">input</span>.<span class="ruby-identifier">append</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">data</span>.<span class="ruby-identifier">length</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- fill-source -->
+
+ </div>
+
+
+
+
+ </div><!-- fill-method -->
+
+
+ <div id="pending_write-3F-method" class="method-detail ">
+ <a name="method-i-pending_write-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">pending_write?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns <tt>true</tt> if there is data waiting in the output buffer, and
+<tt>false</tt> otherwise.</p>
+
+
+
+ <div class="method-source-code" id="pending_write-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffered_io.rb, line 91</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">pending_write?</span>
+ <span class="ruby-identifier">output</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- pending_write-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- pending_write-3F-method -->
+
+
+ <div id="read_available-method" class="method-detail ">
+ <a name="method-i-read_available"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">read_available</span><span
+ class="method-args">(length=nil)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Read up to <tt>length</tt> bytes from the input buffer. If <tt>length</tt>
+is nil, all <a href="BufferedIo.html#method-i-available">available</a> data
+is read from the buffer. (See #<a
+href="BufferedIo.html#method-i-available">available</a>.)</p>
+
+
+
+ <div class="method-source-code" id="read_available-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffered_io.rb, line 73</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">read_available</span>(<span class="ruby-identifier">length</span>=<span class="ruby-keyword">nil</span>)
+ <span class="ruby-identifier">input</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">length</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">available</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- read_available-source -->
+
+ </div>
+
+
+
+
+ </div><!-- read_available-method -->
+
+
+ <div id="send_pending-method" class="method-detail ">
+ <a name="method-i-send_pending"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">send_pending</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Sends as much of the pending output as possible. Returns <tt>true</tt> if
+any data was sent, and <tt>false</tt> otherwise.</p>
+
+
+
+ <div class="method-source-code" id="send_pending-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffered_io.rb, line 97</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">send_pending</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">output</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
+ <span class="ruby-identifier">sent</span> = <span class="ruby-identifier">send</span>(<span class="ruby-identifier">output</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">0</span>)
+ <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;sent #{sent} bytes&quot;</span> }
+ <span class="ruby-identifier">output</span>.<span class="ruby-identifier">consume!</span>(<span class="ruby-identifier">sent</span>)
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">sent</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- send_pending-source -->
+
+ </div>
+
+
+
+
+ </div><!-- send_pending-method -->
+
+
+ <div id="wait_for_pending_sends-method" class="method-detail ">
+ <a name="method-i-wait_for_pending_sends"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">wait_for_pending_sends</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Calls #<a href="BufferedIo.html#method-i-send_pending">send_pending</a>
+repeatedly, if necessary, blocking until the output buffer is empty.</p>
+
+
+
+ <div class="method-source-code" id="wait_for_pending_sends-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffered_io.rb, line 110</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">wait_for_pending_sends</span>
+ <span class="ruby-identifier">send_pending</span>
+ <span class="ruby-keyword">while</span> <span class="ruby-identifier">output</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
+ <span class="ruby-identifier">result</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Compat</span>.<span class="ruby-identifier">io_select</span>(<span class="ruby-keyword">nil</span>, [<span class="ruby-keyword">self</span>]) <span class="ruby-keyword">or</span> <span class="ruby-keyword">next</span>
+ <span class="ruby-keyword">next</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">result</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">any?</span>
+ <span class="ruby-identifier">send_pending</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- wait_for_pending_sends-source -->
+
+ </div>
+
+
+
+
+ </div><!-- wait_for_pending_sends-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/ChannelOpenFailed.html b/Net/SSH/ChannelOpenFailed.html
new file mode 100644
index 0000000..e19ebca
--- /dev/null
+++ b/Net/SSH/ChannelOpenFailed.html
@@ -0,0 +1,481 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::ChannelOpenFailed</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/errors_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/errors.rb">lib/net/ssh/errors.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Exception.html">Net::SSH::Exception</a></p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::ChannelOpenFailed</h1>
+
+ <div id="description" class="description">
+
+<p>This is exception is primarily used internally, but if you have a channel
+open handler (see <a
+href="Connection/Session.html#method-i-on_open_channel">Net::SSH::Connection::Session#on_open_channel</a>)
+and you want to fail in such a way that the server knows it failed, you can
+raise this exception in the handler and <a href="../SSH.html">Net::SSH</a>
+will translate that into a “channel open failed” message.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="code-attribute-method" class="method-detail">
+ <a name="code"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">code</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
+ <div id="reason-attribute-method" class="method-detail">
+ <a name="reason"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">reason</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(code, reason)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/errors.rb, line 32</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">code</span>, <span class="ruby-identifier">reason</span>)
+ <span class="ruby-ivar">@code</span>, <span class="ruby-ivar">@reason</span> = <span class="ruby-identifier">code</span>, <span class="ruby-identifier">reason</span>
+ <span class="ruby-keyword">super</span> <span class="ruby-node">&quot;#{reason} (#{code})&quot;</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/ChannelRequestFailed.html b/Net/SSH/ChannelRequestFailed.html
new file mode 100644
index 0000000..b72103e
--- /dev/null
+++ b/Net/SSH/ChannelRequestFailed.html
@@ -0,0 +1,395 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::ChannelRequestFailed</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/errors_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/errors.rb">lib/net/ssh/errors.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Exception.html">Net::SSH::Exception</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::ChannelRequestFailed</h1>
+
+ <div id="description" class="description">
+
+<p>This exception is primarily used internally, but if you have a channel
+request handler (see <a
+href="Connection/Channel.html#method-i-on_request">Net::SSH::Connection::Channel#on_request</a>)
+that you want to fail in such a way that the server knows it failed, you
+can raise this exception in the handler and <a
+href="../SSH.html">Net::SSH</a> will translate that into a “channel
+failure” message.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Compat.html b/Net/SSH/Compat.html
new file mode 100644
index 0000000..7e1236b
--- /dev/null
+++ b/Net/SSH/Compat.html
@@ -0,0 +1,452 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Compat</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/ruby_compat_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/ruby_compat.rb">lib/net/ssh/ruby_compat.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-io_select">::io_select</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Compat</h1>
+
+ <div id="description" class="description">
+
+<p>This class contains miscellaneous patches and workarounds for different
+ruby implementations.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="SELECT_MUTEX">SELECT_MUTEX</a></dt>
+
+ <dd class="description"></dd>
+
+
+ </dl>
+ </div>
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="io_select-method" class="method-detail ">
+ <a name="method-c-io_select"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">io_select</span><span
+ class="method-args">(*params)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="io_select-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/ruby_compat.rb, line 29</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">io_select</span>(*<span class="ruby-identifier">params</span>)
+ <span class="ruby-constant">IO</span>.<span class="ruby-identifier">select</span>(*<span class="ruby-identifier">params</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- io_select-source -->
+
+ </div>
+
+
+
+
+ </div><!-- io_select-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Config.html b/Net/SSH/Config.html
new file mode 100644
index 0000000..0181fc4
--- /dev/null
+++ b/Net/SSH/Config.html
@@ -0,0 +1,726 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Config</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/config_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/config.rb">lib/net/ssh/config.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-default_files">::default_files</a></li>
+
+ <li><a href="#method-c-for">::for</a></li>
+
+ <li><a href="#method-c-load">::load</a></li>
+
+ <li><a href="#method-c-translate">::translate</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Config</h1>
+
+ <div id="description" class="description">
+
+<p>The <a href="Config.html">Net::SSH::Config</a> class is used to parse
+OpenSSH configuration files, and translates that syntax into the
+configuration syntax that <a href="../SSH.html">Net::SSH</a> understands.
+This lets <a href="../SSH.html">Net::SSH</a> scripts read their
+configuration (to some extent) from OpenSSH configuration files
+(~/.ssh/config, /etc/ssh_config, and so forth).</p>
+
+<p>Only a subset of OpenSSH configuration options are understood:</p>
+<ul><li>
+<p>Ciphers =&gt; maps to the :encryption option</p>
+</li><li>
+<p>Compression =&gt; :compression</p>
+</li><li>
+<p>CompressionLevel =&gt; :compression_level</p>
+</li><li>
+<p>ConnectTimeout =&gt; maps to the :timeout option</p>
+</li><li>
+<p>ForwardAgent =&gt; :forward_agent</p>
+</li><li>
+<p>GlobalKnownHostsFile =&gt; :global_known_hosts_file</p>
+</li><li>
+<p>HostBasedAuthentication =&gt; maps to the :auth_methods option</p>
+</li><li>
+<p>HostKeyAlgorithms =&gt; maps to :host_key option</p>
+</li><li>
+<p>HostKeyAlias =&gt; :host_key_alias</p>
+</li><li>
+<p>HostName =&gt; :host_name</p>
+</li><li>
+<p>IdentityFile =&gt; maps to the :keys option</p>
+</li><li>
+<p>IdentitiesOnly =&gt; :keys_only</p>
+</li><li>
+<p>Macs =&gt; maps to the :hmac option</p>
+</li><li>
+<p>PasswordAuthentication =&gt; maps to the :auth_methods option</p>
+</li><li>
+<p>Port =&gt; :port</p>
+</li><li>
+<p>PreferredAuthentications =&gt; maps to the :auth_methods option</p>
+</li><li>
+<p>ProxyCommand =&gt; maps to the :proxy option</p>
+</li><li>
+<p>RekeyLimit =&gt; :rekey_limit</p>
+</li><li>
+<p>User =&gt; :user</p>
+</li><li>
+<p>UserKnownHostsFile =&gt; :user_known_hosts_file</p>
+</li></ul>
+
+<p>Note that you will never need to use this class directly–you can control
+whether the OpenSSH configuration files are read by passing the :config
+option to <a href="../SSH.html#method-c-start">Net::SSH.start</a>. (They
+are, by default.)</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="default_files-method" class="method-detail ">
+ <a name="method-c-default_files"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">default_files</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns an array of locations of OpenSSH configuration files to parse by
+default.</p>
+
+
+
+ <div class="method-source-code" id="default_files-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/config.rb, line 41</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">default_files</span>
+ <span class="ruby-identifier">@@default_files</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- default_files-source -->
+
+ </div>
+
+
+
+
+ </div><!-- default_files-method -->
+
+
+ <div id="for-method" class="method-detail ">
+ <a name="method-c-for"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">for</span><span
+ class="method-args">(host, files=default_files)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Loads the configuration data <a href="Config.html#method-c-for">for</a> the
+given <tt>host</tt> from all of the given <tt>files</tt> (defaulting to the
+list of files returned by #<a
+href="Config.html#method-c-default_files">default_files</a>), translates
+the resulting hash into the options recognized by <a
+href="../SSH.html">Net::SSH</a>, and returns them.</p>
+
+
+
+ <div class="method-source-code" id="for-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/config.rb, line 49</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">for</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">files</span>=<span class="ruby-identifier">default_files</span>)
+ <span class="ruby-identifier">translate</span>(<span class="ruby-identifier">files</span>.<span class="ruby-identifier">inject</span>({}) { <span class="ruby-operator">|</span><span class="ruby-identifier">settings</span>, <span class="ruby-identifier">file</span><span class="ruby-operator">|</span> <span class="ruby-identifier">load</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">host</span>, <span class="ruby-identifier">settings</span>) })
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- for-source -->
+
+ </div>
+
+
+
+
+ </div><!-- for-method -->
+
+
+ <div id="load-method" class="method-detail ">
+ <a name="method-c-load"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">load</span><span
+ class="method-args">(path, host, settings={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Load the OpenSSH configuration settings in the given <tt>file</tt> <a
+href="Config.html#method-c-for">for</a> the given <tt>host</tt>. If
+<tt>settings</tt> is given, the options are merged into that hash, with
+existing values taking precedence over newly parsed ones. Returns a hash
+containing the OpenSSH options. (See #<a
+href="Config.html#method-c-translate">translate</a> <a
+href="Config.html#method-c-for">for</a> how to convert the OpenSSH options
+into <a href="../SSH.html">Net::SSH</a> options.)</p>
+
+
+
+ <div class="method-source-code" id="load-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/config.rb, line 59</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">load</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">host</span>, <span class="ruby-identifier">settings</span>={})
+ <span class="ruby-identifier">file</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">path</span>)
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">settings</span> <span class="ruby-keyword">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">readable?</span>(<span class="ruby-identifier">file</span>)
+
+ <span class="ruby-identifier">globals</span> = {}
+ <span class="ruby-identifier">matched_host</span> = <span class="ruby-keyword">nil</span>
+ <span class="ruby-identifier">multi_host</span> = []
+ <span class="ruby-identifier">seen_host</span> = <span class="ruby-keyword">false</span>
+ <span class="ruby-constant">IO</span>.<span class="ruby-identifier">foreach</span>(<span class="ruby-identifier">file</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword">next</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">line</span> <span class="ruby-operator">=~</span> <span class="ruby-node">/^\s*(?:#.*)?$/</span>
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">line</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^\s*(\S+)\s*=(.*)$/</span>
+ <span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span> = <span class="ruby-node">$1</span>, <span class="ruby-node">$2</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/\s+/</span>, <span class="ruby-value">2</span>)
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-comment"># silently ignore malformed entries</span>
+ <span class="ruby-keyword">next</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">nil?</span>
+
+ <span class="ruby-identifier">key</span>.<span class="ruby-identifier">downcase!</span>
+ <span class="ruby-identifier">value</span> = <span class="ruby-node">$1</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">value</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^&quot;(.*)&quot;$/</span>
+
+ <span class="ruby-identifier">value</span> = <span class="ruby-keyword">case</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">strip</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-regexp">/^\d+$/</span> <span class="ruby-keyword">then</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">to_i</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-regexp">/^no$/</span> <span class="ruby-keyword">then</span> <span class="ruby-keyword">false</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-regexp">/^yes$/</span> <span class="ruby-keyword">then</span> <span class="ruby-keyword">true</span>
+ <span class="ruby-keyword">else</span> <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">key</span> <span class="ruby-operator">==</span> <span class="ruby-string">'host'</span>
+ <span class="ruby-comment"># Support &quot;Host host1 host2 hostN&quot;.</span>
+ <span class="ruby-comment"># See http://github.com/net-ssh/net-ssh/issues#issue/6</span>
+ <span class="ruby-identifier">multi_host</span> = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/\s+/</span>)
+ <span class="ruby-identifier">matched_host</span> = <span class="ruby-identifier">multi_host</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">h</span><span class="ruby-operator">|</span> <span class="ruby-identifier">host</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">pattern2regex</span>(<span class="ruby-identifier">h</span>) }.<span class="ruby-identifier">first</span>
+ <span class="ruby-identifier">seen_host</span> = <span class="ruby-keyword">true</span>
+ <span class="ruby-keyword">elsif</span> <span class="ruby-operator">!</span><span class="ruby-identifier">seen_host</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">key</span> <span class="ruby-operator">==</span> <span class="ruby-string">'identityfile'</span>
+ (<span class="ruby-identifier">globals</span>[<span class="ruby-identifier">key</span>] <span class="ruby-operator">||=</span> []) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">globals</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">value</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">settings</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">key</span>)
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">elsif</span> <span class="ruby-operator">!</span><span class="ruby-identifier">matched_host</span>.<span class="ruby-identifier">nil?</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">key</span> <span class="ruby-operator">==</span> <span class="ruby-string">'identityfile'</span>
+ (<span class="ruby-identifier">settings</span>[<span class="ruby-identifier">key</span>] <span class="ruby-operator">||=</span> []) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">settings</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">value</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">settings</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">key</span>)
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">settings</span> = <span class="ruby-identifier">globals</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">settings</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">globals</span>
+
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">settings</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- load-source -->
+
+ </div>
+
+
+
+
+ </div><!-- load-method -->
+
+
+ <div id="translate-method" class="method-detail ">
+ <a name="method-c-translate"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">translate</span><span
+ class="method-args">(settings)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Given a hash of OpenSSH configuration options, converts them into a hash of
+<a href="../SSH.html">Net::SSH</a> options. Unrecognized options are
+ignored. The <tt>settings</tt> hash must have Strings <a
+href="Config.html#method-c-for">for</a> keys, all downcased, and the
+returned hash will have Symbols <a href="Config.html#method-c-for">for</a>
+keys.</p>
+
+
+
+ <div class="method-source-code" id="translate-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/config.rb, line 119</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">translate</span>(<span class="ruby-identifier">settings</span>)
+ <span class="ruby-identifier">settings</span>.<span class="ruby-identifier">inject</span>({}) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">hash</span>, (<span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span>)<span class="ruby-operator">|</span>
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">key</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'bindaddress'</span> <span class="ruby-keyword">then</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:bind_address</span>] = <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'ciphers'</span> <span class="ruby-keyword">then</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:encryption</span>] = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/,/</span>)
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'compression'</span> <span class="ruby-keyword">then</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:compression</span>] = <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'compressionlevel'</span> <span class="ruby-keyword">then</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:compression_level</span>] = <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'connecttimeout'</span> <span class="ruby-keyword">then</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:timeout</span>] = <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'forwardagent'</span> <span class="ruby-keyword">then</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:forward_agent</span>] = <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'identitiesonly'</span> <span class="ruby-keyword">then</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:keys_only</span>] = <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'globalknownhostsfile'</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:global_known_hosts_file</span>] = <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'hostbasedauthentication'</span> <span class="ruby-keyword">then</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">value</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:auth_methods</span>] <span class="ruby-operator">||=</span> []
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:auth_methods</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-string">&quot;hostbased&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'hostkeyalgorithms'</span> <span class="ruby-keyword">then</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:host_key</span>] = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/,/</span>)
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'hostkeyalias'</span> <span class="ruby-keyword">then</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:host_key_alias</span>] = <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'hostname'</span> <span class="ruby-keyword">then</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:host_name</span>] = <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'identityfile'</span> <span class="ruby-keyword">then</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:keys</span>] = <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'macs'</span> <span class="ruby-keyword">then</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:hmac</span>] = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/,/</span>)
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'passwordauthentication'</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">value</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:auth_methods</span>] <span class="ruby-operator">||=</span> []
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:auth_methods</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-string">&quot;password&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'port'</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:port</span>] = <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'preferredauthentications'</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:auth_methods</span>] = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/,/</span>)
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'proxycommand'</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">value</span> <span class="ruby-keyword">and</span> <span class="ruby-operator">!</span>(<span class="ruby-identifier">value</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^none$/</span>)
+ <span class="ruby-identifier">require</span> <span class="ruby-string">'net/ssh/proxy/command'</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:proxy</span>] = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Proxy</span><span class="ruby-operator">::</span><span class="ruby-constant">Command</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">value</span>)
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'pubkeyauthentication'</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">value</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:auth_methods</span>] <span class="ruby-operator">||=</span> []
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:auth_methods</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-string">&quot;publickey&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'rekeylimit'</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:rekey_limit</span>] = <span class="ruby-identifier">interpret_size</span>(<span class="ruby-identifier">value</span>)
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'user'</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:user</span>] = <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'userknownhostsfile'</span>
+ <span class="ruby-identifier">hash</span>[<span class="ruby-value">:user_known_hosts_file</span>] = <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-identifier">hash</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- translate-source -->
+
+ </div>
+
+
+
+
+ </div><!-- translate-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Connection.html b/Net/SSH/Connection.html
new file mode 100644
index 0000000..85a2440
--- /dev/null
+++ b/Net/SSH/Connection.html
@@ -0,0 +1,404 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Connection</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/connection/channel_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/connection/channel.rb">lib/net/ssh/connection/channel.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/connection/constants_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/connection/constants.rb">lib/net/ssh/connection/constants.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/connection/session_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/connection/session.rb">lib/net/ssh/connection/session.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/connection/term_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/connection/term.rb">lib/net/ssh/connection/term.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+ <!-- Namespace Contents -->
+ <div id="namespace-list-section" class="section">
+ <h3 class="section-header">Namespace</h3>
+ <ul class="link-list">
+
+ <li><span class="type">MODULE</span> <a href="Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><span class="type">MODULE</span> <a href="Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ </ul>
+ </div>
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Connection</h1>
+
+ <div id="description" class="description">
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Connection/Channel.html b/Net/SSH/Connection/Channel.html
new file mode 100644
index 0000000..edf65b5
--- /dev/null
+++ b/Net/SSH/Connection/Channel.html
@@ -0,0 +1,1989 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Connection::Channel</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/connection/channel_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/connection/channel.rb">lib/net/ssh/connection/channel.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-5B-5D">#[]</a></li>
+
+ <li><a href="#method-i-5B-5D-3D">#[]=</a></li>
+
+ <li><a href="#method-i-active-3F">#active?</a></li>
+
+ <li><a href="#method-i-close">#close</a></li>
+
+ <li><a href="#method-i-closing-3F">#closing?</a></li>
+
+ <li><a href="#method-i-do_close">#do_close</a></li>
+
+ <li><a href="#method-i-do_eof">#do_eof</a></li>
+
+ <li><a href="#method-i-do_extended_data">#do_extended_data</a></li>
+
+ <li><a href="#method-i-do_failure">#do_failure</a></li>
+
+ <li><a href="#method-i-do_open_failed">#do_open_failed</a></li>
+
+ <li><a href="#method-i-do_success">#do_success</a></li>
+
+ <li><a href="#method-i-env">#env</a></li>
+
+ <li><a href="#method-i-eof-21">#eof!</a></li>
+
+ <li><a href="#method-i-eof-3F">#eof?</a></li>
+
+ <li><a href="#method-i-exec">#exec</a></li>
+
+ <li><a href="#method-i-on_close">#on_close</a></li>
+
+ <li><a href="#method-i-on_data">#on_data</a></li>
+
+ <li><a href="#method-i-on_eof">#on_eof</a></li>
+
+ <li><a href="#method-i-on_extended_data">#on_extended_data</a></li>
+
+ <li><a href="#method-i-on_open_failed">#on_open_failed</a></li>
+
+ <li><a href="#method-i-on_process">#on_process</a></li>
+
+ <li><a href="#method-i-on_request">#on_request</a></li>
+
+ <li><a href="#method-i-process">#process</a></li>
+
+ <li><a href="#method-i-request_pty">#request_pty</a></li>
+
+ <li><a href="#method-i-send_channel_request">#send_channel_request</a></li>
+
+ <li><a href="#method-i-send_data">#send_data</a></li>
+
+ <li><a href="#method-i-subsystem">#subsystem</a></li>
+
+ <li><a href="#method-i-wait">#wait</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="Constants.html">Net::SSH::Connection::Constants</a></li>
+
+
+
+ <li><a class="include" href="../Loggable.html">Net::SSH::Loggable</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Connection::Channel</h1>
+
+ <div id="description" class="description">
+
+<p>The channel abstraction. Multiple “channels” can be multiplexed onto a
+single <a href="../../SSH.html">SSH</a> channel, each operating
+independently and seemingly in parallel. This class represents a single
+such channel. Most operations performed with the <a
+href="../../SSH.html">Net::SSH</a> library will involve using one or more
+channels.</p>
+
+<p>Channels are intended to be used asynchronously. You request that one be
+opened (via <a
+href="Session.html#method-i-open_channel">Connection::Session#open_channel</a>),
+and when it is opened, your callback is invoked. Then, you set various
+other callbacks on the newly opened channel, which are called in response
+to the corresponding events. Programming with <a
+href="../../SSH.html">Net::SSH</a> works best if you think of your programs
+as state machines. Complex programs are best implemented as objects that
+wrap a channel. See Net::SCP and Net::SFTP for examples of how complex
+state machines can be built on top of the <a href="../../SSH.html">SSH</a>
+protocol.</p>
+
+<pre>ssh.open_channel do |channel|
+ channel.exec(&quot;/invoke/some/command&quot;) do |ch, success|
+ abort &quot;could not execute command&quot; unless success
+
+ channel.on_data do |ch, data|
+ puts &quot;got stdout: #{data}&quot;
+ channel.send_data &quot;something for stdin\n&quot;
+ end
+
+ channel.on_extended_data do |ch, type, data|
+ puts &quot;got stderr: #{data}&quot;
+ end
+
+ channel.on_close do |ch|
+ puts &quot;channel is closing!&quot;
+ end
+ end
+end
+
+ssh.loop</pre>
+
+<p>Channels also have a basic hash-like interface, that allows programs to
+store arbitrary state information on a channel object. This helps simplify
+the writing of state machines, especially when you may be juggling multiple
+open channels at the same time.</p>
+
+<p>Note that data sent across <a href="../../SSH.html">SSH</a> channels are
+governed by maximum packet sizes and maximum window sizes. These details
+are managed internally by <a
+href="Channel.html">Net::SSH::Connection::Channel</a>, so you may remain
+blissfully ignorant if you so desire, but you can always inspect the
+current maximums, as well as the remaining window size, using the reader
+attributes for those values.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="VALID_PTY_OPTIONS">VALID_PTY_OPTIONS</a></dt>
+
+ <dd class="description"><p>A hash of the valid PTY options (see #<a
+href="Channel.html#method-i-request_pty">request_pty</a>).</p></dd>
+
+
+ </dl>
+ </div>
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="connection-attribute-method" class="method-detail">
+ <a name="connection"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">connection</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The underlying <a href="Session.html">Net::SSH::Connection::Session</a>
+instance that supports this channel.</p>
+
+ </div>
+ </div>
+
+ <div id="local_id-attribute-method" class="method-detail">
+ <a name="local_id"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">local_id</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The local id for this channel, assigned by the <a
+href="Session.html">Net::SSH::Connection::Session</a> instance.</p>
+
+ </div>
+ </div>
+
+ <div id="local_maximum_packet_size-attribute-method" class="method-detail">
+ <a name="local_maximum_packet_size"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">local_maximum_packet_size</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The maximum packet size that the local host can receive.</p>
+
+ </div>
+ </div>
+
+ <div id="local_maximum_window_size-attribute-method" class="method-detail">
+ <a name="local_maximum_window_size"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">local_maximum_window_size</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The maximum amount of data that the local end of this channel can receive.
+This is a total, not per-packet.</p>
+
+ </div>
+ </div>
+
+ <div id="local_window_size-attribute-method" class="method-detail">
+ <a name="local_window_size"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">local_window_size</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>This is the remaining window size on the local end of this channel. When
+this reaches zero, no more data can be received.</p>
+
+ </div>
+ </div>
+
+ <div id="properties-attribute-method" class="method-detail">
+ <a name="properties"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">properties</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>A hash of <a href="Channel.html#attribute-i-properties">properties</a> for
+this channel. These can be used to store state information about this
+channel. See also #[] and #[]=.</p>
+
+ </div>
+ </div>
+
+ <div id="remote_id-attribute-method" class="method-detail">
+ <a name="remote_id"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">remote_id</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The remote id for this channel, assigned by the remote host.</p>
+
+ </div>
+ </div>
+
+ <div id="remote_maximum_packet_size-attribute-method" class="method-detail">
+ <a name="remote_maximum_packet_size"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">remote_maximum_packet_size</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The maximum packet size that the remote host can receive.</p>
+
+ </div>
+ </div>
+
+ <div id="remote_maximum_window_size-attribute-method" class="method-detail">
+ <a name="remote_maximum_window_size"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">remote_maximum_window_size</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The maximum amount of data that the remote end of this channel can receive.
+This is a total, not per-packet.</p>
+
+ </div>
+ </div>
+
+ <div id="remote_window_size-attribute-method" class="method-detail">
+ <a name="remote_window_size"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">remote_window_size</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>This is the remaining window size on the remote end of this channel. When
+this reaches zero, no more data can be sent.</p>
+
+ </div>
+ </div>
+
+ <div id="type-attribute-method" class="method-detail">
+ <a name="type"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">type</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="Channel.html#attribute-i-type">type</a> of this channel,
+usually “session”.</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(connection, type, local_id, &on_confirm_open)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Instantiates a <a href="Channel.html#method-c-new">new</a> channel on the
+given <a href="Channel.html#attribute-i-connection">connection</a>, of the
+given <a href="Channel.html#attribute-i-type">type</a>, and with the given
+id. If a block is given, it will be remembered until the channel is
+confirmed open by the server, and will be invoked at that time (see
+#do_open_confirmation).</p>
+
+<p>This also sets the default maximum packet size and maximum window size.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 110</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">connection</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">local_id</span>, &amp;<span class="ruby-identifier">on_confirm_open</span>)
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">logger</span> = <span class="ruby-identifier">connection</span>.<span class="ruby-identifier">logger</span>
+
+ <span class="ruby-ivar">@connection</span> = <span class="ruby-identifier">connection</span>
+ <span class="ruby-ivar">@type</span> = <span class="ruby-identifier">type</span>
+ <span class="ruby-ivar">@local_id</span> = <span class="ruby-identifier">local_id</span>
+
+ <span class="ruby-ivar">@local_maximum_packet_size</span> = <span class="ruby-value">0x10000</span>
+ <span class="ruby-ivar">@local_window_size</span> = <span class="ruby-ivar">@local_maximum_window_size</span> = <span class="ruby-value">0x20000</span>
+
+ <span class="ruby-ivar">@on_confirm_open</span> = <span class="ruby-identifier">on_confirm_open</span>
+
+ <span class="ruby-ivar">@output</span> = <span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">new</span>
+
+ <span class="ruby-ivar">@properties</span> = {}
+
+ <span class="ruby-ivar">@pending_requests</span> = []
+ <span class="ruby-ivar">@on_open_failed</span> = <span class="ruby-ivar">@on_data</span> = <span class="ruby-ivar">@on_extended_data</span> = <span class="ruby-ivar">@on_process</span> = <span class="ruby-ivar">@on_close</span> = <span class="ruby-ivar">@on_eof</span> = <span class="ruby-keyword">nil</span>
+ <span class="ruby-ivar">@on_request</span> = {}
+ <span class="ruby-ivar">@closing</span> = <span class="ruby-ivar">@eof</span> = <span class="ruby-ivar">@sent_eof</span> = <span class="ruby-keyword">false</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="5B-5D-method" class="method-detail ">
+ <a name="method-i-5B-5D"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">[]</span><span
+ class="method-args">(name)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>A shortcut for accessing <a
+href="Channel.html#attribute-i-properties">properties</a> of the channel
+(see #<a href="Channel.html#attribute-i-properties">properties</a>).</p>
+
+
+
+ <div class="method-source-code" id="5B-5D-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 133</span>
+<span class="ruby-keyword">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">name</span>)
+ <span class="ruby-ivar">@properties</span>[<span class="ruby-identifier">name</span>]
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- 5B-5D-source -->
+
+ </div>
+
+
+
+
+ </div><!-- 5B-5D-method -->
+
+
+ <div id="5B-5D-3D-method" class="method-detail ">
+ <a name="method-i-5B-5D-3D"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">[]=</span><span
+ class="method-args">(name, value)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>A shortcut for setting <a
+href="Channel.html#attribute-i-properties">properties</a> of the channel
+(see #<a href="Channel.html#attribute-i-properties">properties</a>).</p>
+
+
+
+ <div class="method-source-code" id="5B-5D-3D-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 138</span>
+<span class="ruby-keyword">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>)
+ <span class="ruby-ivar">@properties</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">value</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- 5B-5D-3D-source -->
+
+ </div>
+
+
+
+
+ </div><!-- 5B-5D-3D-method -->
+
+
+ <div id="active-3F-method" class="method-detail ">
+ <a name="method-i-active-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">active?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns true if the channel exists in the channel list of the session, and
+false otherwise. This can be used to determine whether a channel has been
+closed or not.</p>
+
+<pre>ssh.loop { channel.active? }</pre>
+
+
+
+ <div class="method-source-code" id="active-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 259</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">active?</span>
+ <span class="ruby-identifier">connection</span>.<span class="ruby-identifier">channels</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">local_id</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- active-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- active-3F-method -->
+
+
+ <div id="close-method" class="method-detail ">
+ <a name="method-i-close"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">close</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Requests that the channel be closed. If the channel is already closing,
+this does nothing, nor does it do anything if the channel has not yet been
+confirmed open (see #do_open_confirmation). Otherwise, it sends a
+CHANNEL_CLOSE message and marks the channel as closing.</p>
+
+
+
+ <div class="method-source-code" id="close-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 284</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">close</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@closing</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">remote_id</span>
+ <span class="ruby-ivar">@closing</span> = <span class="ruby-keyword">true</span>
+ <span class="ruby-identifier">connection</span>.<span class="ruby-identifier">send_message</span>(<span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">from</span>(<span class="ruby-value">:byte</span>, <span class="ruby-constant">CHANNEL_CLOSE</span>, <span class="ruby-value">:long</span>, <span class="ruby-identifier">remote_id</span>))
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- close-source -->
+
+ </div>
+
+
+
+
+ </div><!-- close-method -->
+
+
+ <div id="closing-3F-method" class="method-detail ">
+ <a name="method-i-closing-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">closing?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns true if the channel is currently closing, but not actually closed.
+A channel is closing when, for instance, #<a
+href="Channel.html#method-i-close">close</a> has been invoked, but the
+server has not yet responded with a CHANNEL_CLOSE packet of its own.</p>
+
+
+
+ <div class="method-source-code" id="closing-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 276</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">closing?</span>
+ <span class="ruby-ivar">@closing</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- closing-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- closing-3F-method -->
+
+
+ <div id="do_close-method" class="method-detail ">
+ <a name="method-i-do_close"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">do_close</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Invokes the #<a href="Channel.html#method-i-on_close">on_close</a> callback
+when the server closes a channel. The channel is the only argument.</p>
+
+
+
+ <div class="method-source-code" id="do_close-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 589</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">do_close</span>
+ <span class="ruby-ivar">@on_close</span>.<span class="ruby-identifier">call</span>(<span class="ruby-keyword">self</span>) <span class="ruby-keyword">if</span> <span class="ruby-ivar">@on_close</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- do_close-source -->
+
+ </div>
+
+
+
+
+ </div><!-- do_close-method -->
+
+
+ <div id="do_eof-method" class="method-detail ">
+ <a name="method-i-do_eof"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">do_eof</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Invokes the #<a href="Channel.html#method-i-on_eof">on_eof</a> callback
+when the server indicates that no further data is forthcoming. The callback
+is invoked with the channel as the argument.</p>
+
+
+
+ <div class="method-source-code" id="do_eof-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 583</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">do_eof</span>
+ <span class="ruby-ivar">@on_eof</span>.<span class="ruby-identifier">call</span>(<span class="ruby-keyword">self</span>) <span class="ruby-keyword">if</span> <span class="ruby-ivar">@on_eof</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- do_eof-source -->
+
+ </div>
+
+
+
+
+ </div><!-- do_eof-method -->
+
+
+ <div id="do_extended_data-method" class="method-detail ">
+ <a name="method-i-do_extended_data"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">do_extended_data</span><span
+ class="method-args">(type, data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Invokes the #<a
+href="Channel.html#method-i-on_extended_data">on_extended_data</a> callback
+when the server sends extended data to the channel. This will reduce the
+available window size on the local end. The callback is invoked with the
+channel, <a href="Channel.html#attribute-i-type">type</a>, and data.</p>
+
+
+
+ <div class="method-source-code" id="do_extended_data-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 575</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">do_extended_data</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">data</span>)
+ <span class="ruby-identifier">update_local_window_size</span>(<span class="ruby-identifier">data</span>.<span class="ruby-identifier">length</span>)
+ <span class="ruby-ivar">@on_extended_data</span>.<span class="ruby-identifier">call</span>(<span class="ruby-keyword">self</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">data</span>) <span class="ruby-keyword">if</span> <span class="ruby-ivar">@on_extended_data</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- do_extended_data-source -->
+
+ </div>
+
+
+
+
+ </div><!-- do_extended_data-method -->
+
+
+ <div id="do_failure-method" class="method-detail ">
+ <a name="method-i-do_failure"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">do_failure</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Invokes the next pending request callback with <tt>false</tt> as the second
+argument.</p>
+
+
+
+ <div class="method-source-code" id="do_failure-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 595</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">do_failure</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">callback</span> = <span class="ruby-identifier">pending_requests</span>.<span class="ruby-identifier">shift</span>
+ <span class="ruby-identifier">callback</span>.<span class="ruby-identifier">call</span>(<span class="ruby-keyword">self</span>, <span class="ruby-keyword">false</span>)
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">error</span> { <span class="ruby-string">&quot;channel failure recieved with no pending request to handle it (bug?)&quot;</span> }
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- do_failure-source -->
+
+ </div>
+
+
+
+
+ </div><!-- do_failure-method -->
+
+
+ <div id="do_open_failed-method" class="method-detail ">
+ <a name="method-i-do_open_failed"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">do_open_failed</span><span
+ class="method-args">(reason_code, description)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Invoked when the server failed to open the channel. If an #<a
+href="Channel.html#method-i-on_open_failed">on_open_failed</a> callback was
+specified, it will be invoked with the channel, reason code, and
+description as arguments. Otherwise, a <a
+href="../ChannelOpenFailed.html">ChannelOpenFailed</a> exception will be
+raised.</p>
+
+
+
+ <div class="method-source-code" id="do_open_failed-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 520</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">do_open_failed</span>(<span class="ruby-identifier">reason_code</span>, <span class="ruby-identifier">description</span>)
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@on_open_failed</span>
+ <span class="ruby-ivar">@on_open_failed</span>.<span class="ruby-identifier">call</span>(<span class="ruby-keyword">self</span>, <span class="ruby-identifier">reason_code</span>, <span class="ruby-identifier">description</span>)
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ChannelOpenFailed</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">reason_code</span>, <span class="ruby-identifier">description</span>)
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- do_open_failed-source -->
+
+ </div>
+
+
+
+
+ </div><!-- do_open_failed-method -->
+
+
+ <div id="do_success-method" class="method-detail ">
+ <a name="method-i-do_success"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">do_success</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Invokes the next pending request callback with <tt>true</tt> as the second
+argument.</p>
+
+
+
+ <div class="method-source-code" id="do_success-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 605</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">do_success</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">callback</span> = <span class="ruby-identifier">pending_requests</span>.<span class="ruby-identifier">shift</span>
+ <span class="ruby-identifier">callback</span>.<span class="ruby-identifier">call</span>(<span class="ruby-keyword">self</span>, <span class="ruby-keyword">true</span>)
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">error</span> { <span class="ruby-string">&quot;channel success recieved with no pending request to handle it (bug?)&quot;</span> }
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- do_success-source -->
+
+ </div>
+
+
+
+
+ </div><!-- do_success-method -->
+
+
+ <div id="env-method" class="method-detail ">
+ <a name="method-i-env"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">env</span><span
+ class="method-args">(variable_name, variable_value, &block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Syntactic sugar for setting an environment variable in the remote <a
+href="Channel.html#method-i-process">process</a>’ environment. Note that
+for security reasons, the server may refuse to set certain environment
+variables, or all, at the server’s discretion. If you are connecting to an
+OpenSSH server, you will need to update the AcceptEnv setting in the
+sshd_config to include the environment variables you want to send.</p>
+
+<pre>channel.env &quot;PATH&quot;, &quot;/usr/local/bin&quot;</pre>
+
+
+
+ <div class="method-source-code" id="env-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 187</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">env</span>(<span class="ruby-identifier">variable_name</span>, <span class="ruby-identifier">variable_value</span>, &amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">send_channel_request</span>(<span class="ruby-string">&quot;env&quot;</span>, <span class="ruby-value">:string</span>, <span class="ruby-identifier">variable_name</span>, <span class="ruby-value">:string</span>, <span class="ruby-identifier">variable_value</span>, &amp;<span class="ruby-identifier">block</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- env-source -->
+
+ </div>
+
+
+
+
+ </div><!-- env-method -->
+
+
+ <div id="eof-21-method" class="method-detail ">
+ <a name="method-i-eof-21"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">eof!</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Tells the remote end of the channel that no more data is forthcoming from
+this end of the channel. The remote end may still send data. The
+CHANNEL_EOF packet will be sent once the output buffer is empty.</p>
+
+
+
+ <div class="method-source-code" id="eof-21-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 302</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">eof!</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">eof?</span>
+ <span class="ruby-ivar">@eof</span> = <span class="ruby-keyword">true</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- eof-21-source -->
+
+ </div>
+
+
+
+
+ </div><!-- eof-21-method -->
+
+
+ <div id="eof-3F-method" class="method-detail ">
+ <a name="method-i-eof-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">eof?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns true if the local end of the channel has declared that no more data
+is forthcoming (see #<a href="Channel.html#method-i-eof-21">eof!</a>).
+Trying to send data via #<a
+href="Channel.html#method-i-send_data">send_data</a> when this is true will
+result in an exception being raised.</p>
+
+
+
+ <div class="method-source-code" id="eof-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 295</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">eof?</span>
+ <span class="ruby-ivar">@eof</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- eof-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- eof-3F-method -->
+
+
+ <div id="exec-method" class="method-detail ">
+ <a name="method-i-exec"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">exec</span><span
+ class="method-args">(command, &block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Syntactic sugar for executing a command. Sends a channel request asking
+that the given command be invoked. If the block is given, it will be called
+when the server responds. The first parameter will be the channel, and the
+second will be true or false, indicating whether the request succeeded or
+not. In this case, success means that the command is being executed, not
+that it has completed, and failure means that the command altogether failed
+to be executed.</p>
+
+<pre>channel.exec &quot;ls -l /home&quot; do |ch, success|
+ if success
+ puts &quot;command has begun executing...&quot;
+ # this is a good place to hang callbacks like #on_data...
+ else
+ puts &quot;alas! the command could not be invoked!&quot;
+ end
+end</pre>
+
+
+
+ <div class="method-source-code" id="exec-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 158</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">exec</span>(<span class="ruby-identifier">command</span>, &amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">send_channel_request</span>(<span class="ruby-string">&quot;exec&quot;</span>, <span class="ruby-value">:string</span>, <span class="ruby-identifier">command</span>, &amp;<span class="ruby-identifier">block</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- exec-source -->
+
+ </div>
+
+
+
+
+ </div><!-- exec-method -->
+
+
+ <div id="on_close-method" class="method-detail ">
+ <a name="method-i-on_close"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">on_close</span><span
+ class="method-args">(&block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Registers a callback to be invoked when the server acknowledges that a
+channel is closed. This is invoked with the channel as the sole argument.</p>
+
+<pre>channel.on_close do |ch|
+ puts &quot;remote end is closing!&quot;
+end</pre>
+
+
+
+ <div class="method-source-code" id="on_close-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 383</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">on_close</span>(&amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">old</span>, <span class="ruby-ivar">@on_close</span> = <span class="ruby-ivar">@on_close</span>, <span class="ruby-identifier">block</span>
+ <span class="ruby-identifier">old</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- on_close-source -->
+
+ </div>
+
+
+
+
+ </div><!-- on_close-method -->
+
+
+ <div id="on_data-method" class="method-detail ">
+ <a name="method-i-on_data"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">on_data</span><span
+ class="method-args">(&block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Registers a callback to be invoked when data packets are received by the
+channel. The callback is called with the channel as the first argument, and
+the data as the second.</p>
+
+<pre>channel.on_data do |ch, data|
+ puts &quot;got data: #{data.inspect}&quot;
+end</pre>
+
+<p>Data received this way is typically the data written by the remote <a
+href="Channel.html#method-i-process">process</a> to its <tt>stdout</tt>
+stream.</p>
+
+
+
+ <div class="method-source-code" id="on_data-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 330</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">on_data</span>(&amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">old</span>, <span class="ruby-ivar">@on_data</span> = <span class="ruby-ivar">@on_data</span>, <span class="ruby-identifier">block</span>
+ <span class="ruby-identifier">old</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- on_data-source -->
+
+ </div>
+
+
+
+
+ </div><!-- on_data-method -->
+
+
+ <div id="on_eof-method" class="method-detail ">
+ <a name="method-i-on_eof"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">on_eof</span><span
+ class="method-args">(&block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Registers a callback to be invoked when the server indicates that no more
+data will be sent to the channel (although the channel can still send data
+to the server). The channel is the sole argument to the callback.</p>
+
+<pre>channel.on_eof do |ch|
+ puts &quot;remote end is done sending data&quot;
+end</pre>
+
+
+
+ <div class="method-source-code" id="on_eof-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 395</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">on_eof</span>(&amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">old</span>, <span class="ruby-ivar">@on_eof</span> = <span class="ruby-ivar">@on_eof</span>, <span class="ruby-identifier">block</span>
+ <span class="ruby-identifier">old</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- on_eof-source -->
+
+ </div>
+
+
+
+
+ </div><!-- on_eof-method -->
+
+
+ <div id="on_extended_data-method" class="method-detail ">
+ <a name="method-i-on_extended_data"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">on_extended_data</span><span
+ class="method-args">(&block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Registers a callback to be invoked when extended data packets are received
+by the channel. The callback is called with the channel as the first
+argument, the data <a href="Channel.html#attribute-i-type">type</a> (as an
+integer) as the second, and the data as the third. Extended data is almost
+exclusively used to send <tt>stderr</tt> data (<tt>type</tt> == 1). Other
+extended data types are not defined by the <a href="../../SSH.html">SSH</a>
+protocol.</p>
+
+<pre>channel.on_extended_data do |ch, type, data|
+ puts &quot;got stderr: #{data.inspect}&quot;
+end</pre>
+
+
+
+ <div class="method-source-code" id="on_extended_data-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 345</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">on_extended_data</span>(&amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">old</span>, <span class="ruby-ivar">@on_extended_data</span> = <span class="ruby-ivar">@on_extended_data</span>, <span class="ruby-identifier">block</span>
+ <span class="ruby-identifier">old</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- on_extended_data-source -->
+
+ </div>
+
+
+
+
+ </div><!-- on_extended_data-method -->
+
+
+ <div id="on_open_failed-method" class="method-detail ">
+ <a name="method-i-on_open_failed"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">on_open_failed</span><span
+ class="method-args">(&block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Registers a callback to be invoked when the server was unable to open the
+requested channel. The channel itself will be passed to the block, along
+with the integer “reason code” for the failure, and a textual description
+of the failure from the server.</p>
+
+<pre>channel = session.open_channel do |ch|
+ # ..
+end
+
+channel.on_open_failed { |ch, code, desc| ... }</pre>
+
+
+
+ <div class="method-source-code" id="on_open_failed-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 410</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">on_open_failed</span>(&amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">old</span>, <span class="ruby-ivar">@on_open_failed</span> = <span class="ruby-ivar">@on_open_failed</span>, <span class="ruby-identifier">block</span>
+ <span class="ruby-identifier">old</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- on_open_failed-source -->
+
+ </div>
+
+
+
+
+ </div><!-- on_open_failed-method -->
+
+
+ <div id="on_process-method" class="method-detail ">
+ <a name="method-i-on_process"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">on_process</span><span
+ class="method-args">(&block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Registers a callback to be invoked for each pass of the event loop for this
+channel. There are no guarantees on timeliness in the event loop, but it
+will be called roughly once for each packet received by the <a
+href="Channel.html#attribute-i-connection">connection</a> (not the
+channel). This callback is invoked with the channel as the sole argument.</p>
+
+<p>Here’s an example that accumulates the channel data into a variable on the
+channel itself, and displays individual lines in the input one at a time
+when the channel is processed:</p>
+
+<pre>channel[:data] = &quot;&quot;
+
+channel.on_data do |ch, data|
+ channel[:data] &lt;&lt; data
+end
+
+channel.on_process do |ch|
+ if channel[:data] =~ /^.*?\n/
+ puts $&amp;
+ channel[:data] = $'
+ end
+end</pre>
+
+
+
+ <div class="method-source-code" id="on_process-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 372</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">on_process</span>(&amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">old</span>, <span class="ruby-ivar">@on_process</span> = <span class="ruby-ivar">@on_process</span>, <span class="ruby-identifier">block</span>
+ <span class="ruby-identifier">old</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- on_process-source -->
+
+ </div>
+
+
+
+
+ </div><!-- on_process-method -->
+
+
+ <div id="on_request-method" class="method-detail ">
+ <a name="method-i-on_request"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">on_request</span><span
+ class="method-args">(type, &block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Registers a callback to be invoked when a channel request of the given <a
+href="Channel.html#attribute-i-type">type</a> is received. The callback
+will receive the channel as the first argument, and the associated
+(unparsed) data as the second. The data will be a <a
+href="../Buffer.html">Net::SSH::Buffer</a> that you will need to parse,
+yourself, according to the kind of request you are watching.</p>
+
+<p>By default, if the request wants a reply, <a
+href="../../SSH.html">Net::SSH</a> will send a CHANNEL_SUCCESS response for
+any request that was handled by a registered callback, and CHANNEL_FAILURE
+for any that wasn’t, but if you want your registered callback to result in
+a CHANNEL_FAILURE response, just raise <a
+href="../ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a>.</p>
+
+<p>Some common channel requests that your programs might want to listen for
+are:</p>
+<ul><li>
+<p>“exit-status” : the exit status of the remote <a
+href="Channel.html#method-i-process">process</a> will be reported as a long
+integer in the data buffer, which you can grab via data.read_long.</p>
+</li><li>
+<p>“exit-signal” : if the remote <a
+href="Channel.html#method-i-process">process</a> died as a result of a
+signal being sent to it, the signal will be reported as a string in the
+data, via data.read_string. (Not all <a href="../../SSH.html">SSH</a>
+servers support this channel request <a
+href="Channel.html#attribute-i-type">type</a>.)</p>
+
+<pre>channel.on_request &quot;exit-status&quot; do |ch, data|
+ puts &quot;process terminated with exit status: #{data.read_long}&quot;
+end</pre>
+</li></ul>
+
+
+
+ <div class="method-source-code" id="on_request-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 441</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">on_request</span>(<span class="ruby-identifier">type</span>, &amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">old</span>, <span class="ruby-ivar">@on_request</span>[<span class="ruby-identifier">type</span>] = <span class="ruby-ivar">@on_request</span>[<span class="ruby-identifier">type</span>], <span class="ruby-identifier">block</span>
+ <span class="ruby-identifier">old</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- on_request-source -->
+
+ </div>
+
+
+
+
+ </div><!-- on_request-method -->
+
+
+ <div id="process-method" class="method-detail ">
+ <a name="method-i-process"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">process</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>If an #<a href="Channel.html#method-i-on_process">on_process</a> handler
+has been set up, this will cause it to be invoked (passing the channel
+itself as an argument). It also causes all pending output to be enqueued as
+CHANNEL_DATA packets (see #enqueue_pending_output).</p>
+
+
+
+ <div class="method-source-code" id="process-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 310</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">process</span>
+ <span class="ruby-ivar">@on_process</span>.<span class="ruby-identifier">call</span>(<span class="ruby-keyword">self</span>) <span class="ruby-keyword">if</span> <span class="ruby-ivar">@on_process</span>
+ <span class="ruby-identifier">enqueue_pending_output</span>
+
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@eof</span> <span class="ruby-keyword">and</span> <span class="ruby-keyword">not</span> <span class="ruby-ivar">@sent_eof</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">output</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">remote_id</span>
+ <span class="ruby-identifier">connection</span>.<span class="ruby-identifier">send_message</span>(<span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">from</span>(<span class="ruby-value">:byte</span>, <span class="ruby-constant">CHANNEL_EOF</span>, <span class="ruby-value">:long</span>, <span class="ruby-identifier">remote_id</span>))
+ <span class="ruby-ivar">@sent_eof</span> = <span class="ruby-keyword">true</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- process-source -->
+
+ </div>
+
+
+
+
+ </div><!-- process-method -->
+
+
+ <div id="request_pty-method" class="method-detail ">
+ <a name="method-i-request_pty"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">request_pty</span><span
+ class="method-args">(opts={}, &block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Requests that a pseudo-tty (or “pty”) be made available for this channel.
+This is useful when you want to invoke and interact with some kind of
+screen-based program (e.g., vim, or some menuing system).</p>
+
+<p>Note, that without a pty some programs (e.g. sudo, or subversion) on some
+systems, will not be able to run interactively, and will error instead of
+prompt if they ever need some user interaction.</p>
+
+<p>Note, too, that when a pty is requested, user’s shell configuration scripts
+(.bashrc and such) are not run by default, whereas they are run when a pty
+is not present.</p>
+
+<pre>channel.request_pty do |ch, success|
+ if success
+ puts &quot;pty successfully obtained&quot;
+ else
+ puts &quot;could not obtain pty&quot;
+ end
+end</pre>
+
+
+
+ <div class="method-source-code" id="request_pty-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 218</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">request_pty</span>(<span class="ruby-identifier">opts</span>={}, &amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">extra</span> = <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">keys</span> <span class="ruby-operator">-</span> <span class="ruby-constant">VALID_PTY_OPTIONS</span>.<span class="ruby-identifier">keys</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;invalid option(s) to request_pty: #{extra.inspect}&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">extra</span>.<span class="ruby-identifier">any?</span>
+
+ <span class="ruby-identifier">opts</span> = <span class="ruby-constant">VALID_PTY_OPTIONS</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">opts</span>)
+
+ <span class="ruby-identifier">modes</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:modes</span>].<span class="ruby-identifier">inject</span>(<span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">new</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">memo</span>, (<span class="ruby-identifier">mode</span>, <span class="ruby-identifier">data</span>)<span class="ruby-operator">|</span>
+ <span class="ruby-identifier">memo</span>.<span class="ruby-identifier">write_byte</span>(<span class="ruby-identifier">mode</span>).<span class="ruby-identifier">write_long</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-comment"># mark the end of the mode opcode list with a 0 byte</span>
+ <span class="ruby-identifier">modes</span>.<span class="ruby-identifier">write_byte</span>(<span class="ruby-value">0</span>)
+
+ <span class="ruby-identifier">send_channel_request</span>(<span class="ruby-string">&quot;pty-req&quot;</span>, <span class="ruby-value">:string</span>, <span class="ruby-identifier">opts</span>[<span class="ruby-value">:term</span>],
+ <span class="ruby-value">:long</span>, <span class="ruby-identifier">opts</span>[<span class="ruby-value">:chars_wide</span>], <span class="ruby-value">:long</span>, <span class="ruby-identifier">opts</span>[<span class="ruby-value">:chars_high</span>],
+ <span class="ruby-value">:long</span>, <span class="ruby-identifier">opts</span>[<span class="ruby-value">:pixels_wide</span>], <span class="ruby-value">:long</span>, <span class="ruby-identifier">opts</span>[<span class="ruby-value">:pixels_high</span>],
+ <span class="ruby-value">:string</span>, <span class="ruby-identifier">modes</span>.<span class="ruby-identifier">to_s</span>, &amp;<span class="ruby-identifier">block</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- request_pty-source -->
+
+ </div>
+
+
+
+
+ </div><!-- request_pty-method -->
+
+
+ <div id="send_channel_request-method" class="method-detail ">
+ <a name="method-i-send_channel_request"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">send_channel_request</span><span
+ class="method-args">(request_name, *data, &callback)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Sends a <a href="Channel.html#method-c-new">new</a> channel request with
+the given name. The extra <tt>data</tt> parameter must either be empty, or
+consist of an even number of arguments. See <a
+href="../Buffer.html#method-c-from">Net::SSH::Buffer.from</a> for a
+description of their format. If a block is given, it is registered as a
+callback for a pending request, and the packet will be flagged so that the
+server knows a reply is required. If no block is given, the server will
+send no response to this request. Responses, where required, will cause the
+callback to be invoked with the channel as the first argument, and either
+true or false as the second, depending on whether the request succeeded or
+not. The meaning of “success” and “failure” in this context is dependent on
+the specific request that was sent.</p>
+
+<pre>channel.send_channel_request &quot;shell&quot; do |ch, success|
+ if success
+ puts &quot;user shell started successfully&quot;
+ else
+ puts &quot;could not start user shell&quot;
+ end
+end</pre>
+
+<p>Most channel requests you’ll want to send are already wrapped in more
+convenient helper methods (see #<a
+href="Channel.html#method-i-exec">exec</a> and #<a
+href="Channel.html#method-i-subsystem">subsystem</a>).</p>
+
+
+
+ <div class="method-source-code" id="send_channel_request-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 468</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">send_channel_request</span>(<span class="ruby-identifier">request_name</span>, *<span class="ruby-identifier">data</span>, &amp;<span class="ruby-identifier">callback</span>)
+ <span class="ruby-identifier">info</span> { <span class="ruby-node">&quot;sending channel request #{request_name.inspect}&quot;</span> }
+ <span class="ruby-identifier">msg</span> = <span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">from</span>(<span class="ruby-value">:byte</span>, <span class="ruby-constant">CHANNEL_REQUEST</span>,
+ <span class="ruby-value">:long</span>, <span class="ruby-identifier">remote_id</span>, <span class="ruby-value">:string</span>, <span class="ruby-identifier">request_name</span>,
+ <span class="ruby-value">:bool</span>, <span class="ruby-operator">!</span><span class="ruby-identifier">callback</span>.<span class="ruby-identifier">nil?</span>, *<span class="ruby-identifier">data</span>)
+ <span class="ruby-identifier">connection</span>.<span class="ruby-identifier">send_message</span>(<span class="ruby-identifier">msg</span>)
+ <span class="ruby-identifier">pending_requests</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">callback</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">callback</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- send_channel_request-source -->
+
+ </div>
+
+
+
+
+ </div><!-- send_channel_request-method -->
+
+
+ <div id="send_data-method" class="method-detail ">
+ <a name="method-i-send_data"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">send_data</span><span
+ class="method-args">(data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Sends data to the channel’s remote endpoint. This usually has the effect of
+sending the given string to the remote <a
+href="Channel.html#method-i-process">process</a>’ stdin stream. Note that
+it does not immediately send the data across the channel, but instead
+merely appends the given data to the channel’s output buffer, preparatory
+to being packaged up and sent out the next time the <a
+href="Channel.html#attribute-i-connection">connection</a> is accepting
+data. (A <a href="Channel.html#attribute-i-connection">connection</a> might
+not be accepting data if, for instance, it has filled its data window and
+has not yet been resized by the remote end-point.)</p>
+
+<p>This will raise an exception if the channel has previously declared that no
+more data will be sent (see #<a
+href="Channel.html#method-i-eof-21">eof!</a>).</p>
+
+<pre>channel.send_data(&quot;the password\n&quot;)</pre>
+
+
+
+ <div class="method-source-code" id="send_data-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 249</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">send_data</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">EOFError</span>, <span class="ruby-string">&quot;cannot send data if channel has declared eof&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">eof?</span>
+ <span class="ruby-identifier">output</span>.<span class="ruby-identifier">append</span>(<span class="ruby-identifier">data</span>.<span class="ruby-identifier">to_s</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- send_data-source -->
+
+ </div>
+
+
+
+
+ </div><!-- send_data-method -->
+
+
+ <div id="subsystem-method" class="method-detail ">
+ <a name="method-i-subsystem"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">subsystem</span><span
+ class="method-args">(subsystem, &block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Syntactic sugar for requesting that a <a
+href="Channel.html#method-i-subsystem">subsystem</a> be started. Subsystems
+are a way for other protocols (like SFTP) to be run, using <a
+href="../../SSH.html">SSH</a> as the transport. Generally, you’ll never
+need to call this directly unless you are the implementor of something that
+consumes an <a href="../../SSH.html">SSH</a> <a
+href="Channel.html#method-i-subsystem">subsystem</a>, like SFTP.</p>
+
+<pre>channel.subsystem(&quot;sftp&quot;) do |ch, success|
+ if success
+ puts &quot;subsystem successfully started&quot;
+ else
+ puts &quot;subsystem could not be started&quot;
+ end
+end</pre>
+
+
+
+ <div class="method-source-code" id="subsystem-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 175</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">subsystem</span>(<span class="ruby-identifier">subsystem</span>, &amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">send_channel_request</span>(<span class="ruby-string">&quot;subsystem&quot;</span>, <span class="ruby-value">:string</span>, <span class="ruby-identifier">subsystem</span>, &amp;<span class="ruby-identifier">block</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- subsystem-source -->
+
+ </div>
+
+
+
+
+ </div><!-- subsystem-method -->
+
+
+ <div id="wait-method" class="method-detail ">
+ <a name="method-i-wait"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">wait</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Runs the <a href="../../SSH.html">SSH</a> event loop until the channel is
+no longer active. This is handy for blocking while you <a
+href="Channel.html#method-i-wait">wait</a> for some channel to finish.</p>
+
+<pre>channel.exec(&quot;grep ...&quot;) { ... }
+channel.wait</pre>
+
+
+
+ <div class="method-source-code" id="wait-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/channel.rb, line 268</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">wait</span>
+ <span class="ruby-identifier">connection</span>.<span class="ruby-identifier">loop</span> { <span class="ruby-identifier">active?</span> }
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- wait-source -->
+
+ </div>
+
+
+
+
+ </div><!-- wait-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Connection/Constants.html b/Net/SSH/Connection/Constants.html
new file mode 100644
index 0000000..2e47974
--- /dev/null
+++ b/Net/SSH/Connection/Constants.html
@@ -0,0 +1,460 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Connection::Constants</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/connection/constants_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/connection/constants.rb">lib/net/ssh/connection/constants.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Connection::Constants</h1>
+
+ <div id="description" class="description">
+
+<p>Definitions of constants that are specific to the connection layer of the
+<a href="../../SSH.html">SSH</a> protocol.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="CHANNEL_CLOSE">CHANNEL_CLOSE</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="CHANNEL_DATA">CHANNEL_DATA</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="CHANNEL_EOF">CHANNEL_EOF</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="CHANNEL_EXTENDED_DATA">CHANNEL_EXTENDED_DATA</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="CHANNEL_FAILURE">CHANNEL_FAILURE</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="CHANNEL_OPEN">CHANNEL_OPEN</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="CHANNEL_OPEN_CONFIRMATION">CHANNEL_OPEN_CONFIRMATION</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="CHANNEL_OPEN_FAILURE">CHANNEL_OPEN_FAILURE</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="CHANNEL_REQUEST">CHANNEL_REQUEST</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="CHANNEL_SUCCESS">CHANNEL_SUCCESS</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="CHANNEL_WINDOW_ADJUST">CHANNEL_WINDOW_ADJUST</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="GLOBAL_REQUEST">GLOBAL_REQUEST</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="REQUEST_FAILURE">REQUEST_FAILURE</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="REQUEST_SUCCESS">REQUEST_SUCCESS</a></dt>
+
+ <dd class="description"></dd>
+
+
+ </dl>
+ </div>
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Connection/Session.html b/Net/SSH/Connection/Session.html
new file mode 100644
index 0000000..294b26c
--- /dev/null
+++ b/Net/SSH/Connection/Session.html
@@ -0,0 +1,1642 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Connection::Session</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/connection/session_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/connection/session.rb">lib/net/ssh/connection/session.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+ <!-- Namespace Contents -->
+ <div id="namespace-list-section" class="section">
+ <h3 class="section-header">Namespace</h3>
+ <ul class="link-list">
+
+ <li><span class="type">CLASS</span> <a href="Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-5B-5D">#[]</a></li>
+
+ <li><a href="#method-i-5B-5D-3D">#[]=</a></li>
+
+ <li><a href="#method-i-busy-3F">#busy?</a></li>
+
+ <li><a href="#method-i-close">#close</a></li>
+
+ <li><a href="#method-i-closed-3F">#closed?</a></li>
+
+ <li><a href="#method-i-exec">#exec</a></li>
+
+ <li><a href="#method-i-exec-21">#exec!</a></li>
+
+ <li><a href="#method-i-forward">#forward</a></li>
+
+ <li><a href="#method-i-host">#host</a></li>
+
+ <li><a href="#method-i-listen_to">#listen_to</a></li>
+
+ <li><a href="#method-i-loop">#loop</a></li>
+
+ <li><a href="#method-i-loop_forever">#loop_forever</a></li>
+
+ <li><a href="#method-i-on_global_request">#on_global_request</a></li>
+
+ <li><a href="#method-i-on_open_channel">#on_open_channel</a></li>
+
+ <li><a href="#method-i-open_channel">#open_channel</a></li>
+
+ <li><a href="#method-i-postprocess">#postprocess</a></li>
+
+ <li><a href="#method-i-preprocess">#preprocess</a></li>
+
+ <li><a href="#method-i-process">#process</a></li>
+
+ <li><a href="#method-i-send_global_request">#send_global_request</a></li>
+
+ <li><a href="#method-i-send_message">#send_message</a></li>
+
+ <li><a href="#method-i-shutdown-21">#shutdown!</a></li>
+
+ <li><a href="#method-i-stop_listening_to">#stop_listening_to</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="Constants.html">Net::SSH::Connection::Constants</a></li>
+
+
+
+ <li><a class="include" href="../Loggable.html">Net::SSH::Loggable</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Connection::Session</h1>
+
+ <div id="description" class="description">
+
+<p>A session class representing the connection service running on top of the
+<a href="../../SSH.html">SSH</a> <a
+href="Session.html#attribute-i-transport">transport</a> layer. It manages
+the creation of channels (see #<a
+href="Session.html#method-i-open_channel">open_channel</a>), and the
+dispatching of messages to the various channels. It also encapsulates the
+<a href="../../SSH.html">SSH</a> event <a
+href="Session.html#method-i-loop">loop</a> (via #<a
+href="Session.html#method-i-loop">loop</a> and #<a
+href="Session.html#method-i-process">process</a>), and serves as a central
+point-of-reference for all SSH-related services (e.g. port forwarding,
+SFTP, SCP, etc.).</p>
+
+<p>You will rarely (if ever) need to instantiate this class directly; rather,
+you’ll almost always use <a
+href="../../SSH.html#method-c-start">Net::SSH.start</a> to initialize a <a
+href="Session.html#method-c-new">new</a> network connection, authenticate a
+user, and return a <a href="Session.html#method-c-new">new</a> connection
+session, all in one call.</p>
+
+<pre>Net::SSH.start(&quot;localhost&quot;, &quot;user&quot;) do |ssh|
+ # 'ssh' is an instance of Net::SSH::Connection::Session
+ ssh.exec! &quot;/etc/init.d/some_process start&quot;
+end</pre>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="MAP">MAP</a></dt>
+
+ <dd class="description"></dd>
+
+
+ </dl>
+ </div>
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="options-attribute-method" class="method-detail">
+ <a name="options"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">options</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The map of <a href="Session.html#attribute-i-options">options</a> that were
+used to initialize this instance.</p>
+
+ </div>
+ </div>
+
+ <div id="properties-attribute-method" class="method-detail">
+ <a name="properties"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">properties</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The collection of custom <a
+href="Session.html#attribute-i-properties">properties</a> for this
+instance. (See #[] and #[]=).</p>
+
+ </div>
+ </div>
+
+ <div id="transport-attribute-method" class="method-detail">
+ <a name="transport"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">transport</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The underlying <a href="Session.html#attribute-i-transport">transport</a>
+layer abstraction (see <a
+href="../Transport/Session.html">Net::SSH::Transport::Session</a>).</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(transport, options={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Create a <a href="Session.html#method-c-new">new</a> connection service
+instance atop the given <a
+href="Session.html#attribute-i-transport">transport</a> layer. Initializes
+the listeners to be only the underlying socket object.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 62</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">transport</span>, <span class="ruby-identifier">options</span>={})
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">logger</span> = <span class="ruby-identifier">transport</span>.<span class="ruby-identifier">logger</span>
+
+ <span class="ruby-ivar">@transport</span> = <span class="ruby-identifier">transport</span>
+ <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
+
+ <span class="ruby-ivar">@channel_id_counter</span> = <span class="ruby-value">-1</span>
+ <span class="ruby-ivar">@channels</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">NilChannel</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>))
+ <span class="ruby-ivar">@listeners</span> = { <span class="ruby-identifier">transport</span>.<span class="ruby-identifier">socket</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">nil</span> }
+ <span class="ruby-ivar">@pending_requests</span> = []
+ <span class="ruby-ivar">@channel_open_handlers</span> = {}
+ <span class="ruby-ivar">@on_global_request</span> = {}
+ <span class="ruby-ivar">@properties</span> = (<span class="ruby-identifier">options</span>[<span class="ruby-value">:properties</span>] <span class="ruby-operator">||</span> {}).<span class="ruby-identifier">dup</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="5B-5D-method" class="method-detail ">
+ <a name="method-i-5B-5D"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">[]</span><span
+ class="method-args">(key)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Retrieves a custom property from this instance. This can be used to store
+additional state in applications that must manage multiple <a
+href="../../SSH.html">SSH</a> connections.</p>
+
+
+
+ <div class="method-source-code" id="5B-5D-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 80</span>
+<span class="ruby-keyword">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">key</span>)
+ <span class="ruby-ivar">@properties</span>[<span class="ruby-identifier">key</span>]
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- 5B-5D-source -->
+
+ </div>
+
+
+
+
+ </div><!-- 5B-5D-method -->
+
+
+ <div id="5B-5D-3D-method" class="method-detail ">
+ <a name="method-i-5B-5D-3D"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">[]=</span><span
+ class="method-args">(key, value)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Sets a custom property for this instance.</p>
+
+
+
+ <div class="method-source-code" id="5B-5D-3D-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 85</span>
+<span class="ruby-keyword">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span>)
+ <span class="ruby-ivar">@properties</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">value</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- 5B-5D-3D-source -->
+
+ </div>
+
+
+
+
+ </div><!-- 5B-5D-3D-method -->
+
+
+ <div id="busy-3F-method" class="method-detail ">
+ <a name="method-i-busy-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">busy?</span><span
+ class="method-args">(include_invisible=false)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns <tt>true</tt> if there are any channels currently active on this
+session. By default, this will not include “invisible” channels (such as
+those created by forwarding ports and such), but if you pass a
+<tt>true</tt> value for <tt>include_invisible</tt>, then those will be
+counted.</p>
+
+<p>This can be useful for determining whether the event <a
+href="Session.html#method-i-loop">loop</a> should continue to be run.</p>
+
+<pre>ssh.loop { ssh.busy? }</pre>
+
+
+
+ <div class="method-source-code" id="busy-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 134</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">busy?</span>(<span class="ruby-identifier">include_invisible</span>=<span class="ruby-keyword">false</span>)
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">include_invisible</span>
+ <span class="ruby-identifier">channels</span>.<span class="ruby-identifier">any?</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">channels</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">id</span>, <span class="ruby-identifier">ch</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">ch</span>[<span class="ruby-value">:invisible</span>] }
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- busy-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- busy-3F-method -->
+
+
+ <div id="close-method" class="method-detail ">
+ <a name="method-i-close"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">close</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Closes the session gracefully, blocking until all channels have
+successfully closed, and then closes the underlying <a
+href="Session.html#attribute-i-transport">transport</a> layer connection.</p>
+
+
+
+ <div class="method-source-code" id="close-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 107</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">close</span>
+ <span class="ruby-identifier">info</span> { <span class="ruby-node">&quot;closing remaining channels (#{channels.length} open)&quot;</span> }
+ <span class="ruby-identifier">channels</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">id</span>, <span class="ruby-identifier">channel</span><span class="ruby-operator">|</span> <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">close</span> }
+ <span class="ruby-identifier">loop</span> { <span class="ruby-identifier">channels</span>.<span class="ruby-identifier">any?</span> }
+ <span class="ruby-identifier">transport</span>.<span class="ruby-identifier">close</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- close-source -->
+
+ </div>
+
+
+
+
+ </div><!-- close-method -->
+
+
+ <div id="closed-3F-method" class="method-detail ">
+ <a name="method-i-closed-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">closed?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns true if the underlying <a
+href="Session.html#attribute-i-transport">transport</a> has been closed.
+Note that this can be a little misleading, since if the remote server has
+closed the connection, the local end will still think it is open until the
+next operation on the socket. Nevertheless, this method can be useful if
+you just want to know if <em>you</em> have closed the connection.</p>
+
+
+
+ <div class="method-source-code" id="closed-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 100</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">closed?</span>
+ <span class="ruby-identifier">transport</span>.<span class="ruby-identifier">closed?</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- closed-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- closed-3F-method -->
+
+
+ <div id="exec-method" class="method-detail ">
+ <a name="method-i-exec"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">exec</span><span
+ class="method-args">(command, &block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>A convenience method for executing a command and interacting with it. If no
+block is given, all output is printed via $stdout and $stderr. Otherwise,
+the block is called for each data and extended data packet, with three
+arguments: the channel object, a symbol indicating the data type (:stdout
+or :stderr), and the data (as a string).</p>
+
+<p>Note that this method returns immediately, and requires an event <a
+href="Session.html#method-i-loop">loop</a> (see <a
+href="Session.html#method-i-loop">Session#loop</a>) in order for the
+command to actually execute.</p>
+
+<p>This is effectively identical to calling #<a
+href="Session.html#method-i-open_channel">open_channel</a>, and then <a
+href="Channel.html#method-i-exec">Net::SSH::Connection::Channel#exec</a>,
+and then setting up the channel callbacks. However, for most uses, this
+will be sufficient.</p>
+
+<pre>ssh.exec &quot;grep something /some/files&quot; do |ch, stream, data|
+ if stream == :stderr
+ puts &quot;ERROR: #{data}&quot;
+ else
+ puts data
+ end
+end</pre>
+
+
+
+ <div class="method-source-code" id="exec-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 319</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">exec</span>(<span class="ruby-identifier">command</span>, &amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">open_channel</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">channel</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">exec</span>(<span class="ruby-identifier">command</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span>, <span class="ruby-identifier">success</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;could not execute command: #{command.inspect}&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">success</span>
+
+ <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">on_data</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch2</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">block</span>
+ <span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">ch2</span>, <span class="ruby-value">:stdout</span>, <span class="ruby-identifier">data</span>)
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">print</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">on_extended_data</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch2</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">block</span>
+ <span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">ch2</span>, <span class="ruby-value">:stderr</span>, <span class="ruby-identifier">data</span>)
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">print</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- exec-source -->
+
+ </div>
+
+
+
+
+ </div><!-- exec-method -->
+
+
+ <div id="exec-21-method" class="method-detail ">
+ <a name="method-i-exec-21"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">exec!</span><span
+ class="method-args">(command, &block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Same as #<a href="Session.html#method-i-exec">exec</a>, except this will
+block until the command finishes. Also, if a block is not given, this will
+return all output (stdout and stderr) as a single string.</p>
+
+<pre>matches = ssh.exec!(&quot;grep something /some/files&quot;)</pre>
+
+
+
+ <div class="method-source-code" id="exec-21-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 348</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">exec!</span>(<span class="ruby-identifier">command</span>, &amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">block</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">ch</span>[<span class="ruby-value">:result</span>] <span class="ruby-operator">||=</span> <span class="ruby-string">&quot;&quot;</span>
+ <span class="ruby-identifier">ch</span>[<span class="ruby-value">:result</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">data</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">channel</span> = <span class="ruby-identifier">exec</span>(<span class="ruby-identifier">command</span>, &amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">wait</span>
+
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">channel</span>[<span class="ruby-value">:result</span>]
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- exec-21-source -->
+
+ </div>
+
+
+
+
+ </div><!-- exec-21-method -->
+
+
+ <div id="forward-method" class="method-detail ">
+ <a name="method-i-forward"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">forward</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns a reference to the <a
+href="../Service/Forward.html">Net::SSH::Service::Forward</a> service,
+which can be used for forwarding ports over <a
+href="../../SSH.html">SSH</a>.</p>
+
+
+
+ <div class="method-source-code" id="forward-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 417</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">forward</span>
+ <span class="ruby-ivar">@forward</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Service</span><span class="ruby-operator">::</span><span class="ruby-constant">Forward</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- forward-source -->
+
+ </div>
+
+
+
+
+ </div><!-- forward-method -->
+
+
+ <div id="host-method" class="method-detail ">
+ <a name="method-i-host"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">host</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns the name of the <a href="Session.html#method-i-host">host</a> that
+was given to the <a href="Session.html#attribute-i-transport">transport</a>
+layer to connect to.</p>
+
+
+
+ <div class="method-source-code" id="host-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 91</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">host</span>
+ <span class="ruby-identifier">transport</span>.<span class="ruby-identifier">host</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- host-source -->
+
+ </div>
+
+
+
+
+ </div><!-- host-method -->
+
+
+ <div id="listen_to-method" class="method-detail ">
+ <a name="method-i-listen_to"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">listen_to</span><span
+ class="method-args">(io, &callback)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Adds an IO object for the event <a
+href="Session.html#method-i-loop">loop</a> to listen to. If a callback is
+given, it will be invoked when the io is ready to be read, otherwise, the
+io will merely have its #fill method invoked.</p>
+
+<p>Any <tt>io</tt> value passed to this method <em>must</em> have mixed into
+it the <a href="../BufferedIo.html">Net::SSH::BufferedIo</a> functionality,
+typically by calling #extend on the object.</p>
+
+<p>The following example executes a <a
+href="Session.html#method-i-process">process</a> on the remote server,
+opens a socket to somewhere, and then pipes data from that socket to the
+remote <a href="Session.html#method-i-process">process</a>’ stdin stream:</p>
+
+<pre>channel = ssh.open_channel do |ch|
+ ch.exec &quot;/some/process/that/wants/input&quot; do |ch, success|
+ abort &quot;can't execute!&quot; unless success
+
+ io = TCPSocket.new(somewhere, port)
+ io.extend(Net::SSH::BufferedIo)
+ ssh.listen_to(io)
+
+ ch.on_process do
+ if io.available &gt; 0
+ ch.send_data(io.read_available)
+ end
+ end
+
+ ch.on_close do
+ ssh.stop_listening_to(io)
+ io.close
+ end
+ end
+end
+
+channel.wait</pre>
+
+
+
+ <div class="method-source-code" id="listen_to-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 405</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">listen_to</span>(<span class="ruby-identifier">io</span>, &amp;<span class="ruby-identifier">callback</span>)
+ <span class="ruby-identifier">listeners</span>[<span class="ruby-identifier">io</span>] = <span class="ruby-identifier">callback</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- listen_to-source -->
+
+ </div>
+
+
+
+
+ </div><!-- listen_to-method -->
+
+
+ <div id="loop-method" class="method-detail ">
+ <a name="method-i-loop"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">loop</span><span
+ class="method-args">(wait=nil, &block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>The main event <a href="Session.html#method-i-loop">loop</a>. Calls #<a
+href="Session.html#method-i-process">process</a> until #<a
+href="Session.html#method-i-process">process</a> returns false. If a block
+is given, it is passed to #<a
+href="Session.html#method-i-process">process</a>, otherwise a default proc
+is used that just returns true if there are any channels active (see #<a
+href="Session.html#method-i-busy-3F">busy?</a>). The # <tt>wait</tt>
+parameter is also passed through to #<a
+href="Session.html#method-i-process">process</a> (where it is interpreted
+as the maximum number of seconds to wait for IO.select to return).</p>
+
+<pre># loop for as long as there are any channels active
+ssh.loop
+
+# loop for as long as there are any channels active, but make sure
+# the event loop runs at least once per 0.1 second
+ssh.loop(0.1)
+
+# loop until ctrl-C is pressed
+int_pressed = false
+trap(&quot;INT&quot;) { int_pressed = true }
+ssh.loop(0.1) { not int_pressed }</pre>
+
+
+
+ <div class="method-source-code" id="loop-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 159</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">loop</span>(<span class="ruby-identifier">wait</span>=<span class="ruby-keyword">nil</span>, &amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">running</span> = <span class="ruby-identifier">block</span> <span class="ruby-operator">||</span> <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span> { <span class="ruby-identifier">busy?</span> }
+ <span class="ruby-identifier">loop_forever</span> { <span class="ruby-keyword">break</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">process</span>(<span class="ruby-identifier">wait</span>, &amp;<span class="ruby-identifier">running</span>) }
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- loop-source -->
+
+ </div>
+
+
+ <div class="aliases">
+ Also aliased as: <a href="Session.html#method-i-loop_forever">loop_forever</a>
+ </div>
+
+
+
+ </div><!-- loop-method -->
+
+
+ <div id="loop_forever-method" class="method-detail method-alias">
+ <a name="method-i-loop_forever"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">loop_forever</span><span
+ class="method-args">(wait=nil, &block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>preserve a reference to Kernel#loop</p>
+
+
+
+ </div>
+
+
+
+
+ <div class="aliases">
+ Alias for: <a href="Session.html#method-i-loop">loop</a>
+ </div>
+
+ </div><!-- loop_forever-method -->
+
+
+ <div id="on_global_request-method" class="method-detail ">
+ <a name="method-i-on_global_request"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">on_global_request</span><span
+ class="method-args">(type, &block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Registers a handler to be invoked when the server sends a global request of
+the given type. The callback receives the request data as the first
+parameter, and true/false as the second (indicating whether a response is
+required). If the callback sends the response, it should return :sent.
+Otherwise, if it returns true, REQUEST_SUCCESS will be sent, and if it
+returns false, REQUEST_FAILURE will be sent.</p>
+
+
+
+ <div class="method-source-code" id="on_global_request-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 441</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">on_global_request</span>(<span class="ruby-identifier">type</span>, &amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">old</span>, <span class="ruby-ivar">@on_global_request</span>[<span class="ruby-identifier">type</span>] = <span class="ruby-ivar">@on_global_request</span>[<span class="ruby-identifier">type</span>], <span class="ruby-identifier">block</span>
+ <span class="ruby-identifier">old</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- on_global_request-source -->
+
+ </div>
+
+
+
+
+ </div><!-- on_global_request-method -->
+
+
+ <div id="on_open_channel-method" class="method-detail ">
+ <a name="method-i-on_open_channel"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">on_open_channel</span><span
+ class="method-args">(type, &block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Registers a handler to be invoked when the server wants to open a channel
+on the client. The callback receives the connection object, the <a
+href="Session.html#method-c-new">new</a> channel object, and the packet
+itself as arguments, and should raise <a
+href="../ChannelOpenFailed.html">ChannelOpenFailed</a> if it is unable to
+open the channel for some reason. Otherwise, the channel will be opened and
+a confirmation message sent to the server.</p>
+
+<p>This is used by the <a
+href="../Service/Forward.html">Net::SSH::Service::Forward</a> service to
+open a channel when a remote forwarded port receives a connection. However,
+you are welcome to register handlers for other channel types, as needed.</p>
+
+
+
+ <div class="method-source-code" id="on_open_channel-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 431</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">on_open_channel</span>(<span class="ruby-identifier">type</span>, &amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">channel_open_handlers</span>[<span class="ruby-identifier">type</span>] = <span class="ruby-identifier">block</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- on_open_channel-source -->
+
+ </div>
+
+
+
+
+ </div><!-- on_open_channel-method -->
+
+
+ <div id="open_channel-method" class="method-detail ">
+ <a name="method-i-open_channel"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">open_channel</span><span
+ class="method-args">(type="session", *extra, &on_confirm)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Requests that a <a href="Session.html#method-c-new">new</a> channel be
+opened. By default, the channel will be of type “session”, but if you know
+what you’re doing you can select any of the channel types supported by the
+<a href="../../SSH.html">SSH</a> protocol. The <tt>extra</tt> parameters
+must be even in number and conform to the same format as described for <a
+href="../Buffer.html#method-c-from">Net::SSH::Buffer.from</a>. If a
+callback is given, it will be invoked when the server confirms that the
+channel opened successfully. The sole parameter for the callback is the
+channel object itself.</p>
+
+<p>In general, you’ll use #<a
+href="Session.html#method-i-open_channel">open_channel</a> without any
+arguments; the only time you’d want to set the channel type or pass
+additional initialization data is if you were implementing an <a
+href="../../SSH.html">SSH</a> extension.</p>
+
+<pre>channel = ssh.open_channel do |ch|
+ ch.exec &quot;grep something /some/files&quot; do |ch, success|
+ ...
+ end
+end
+
+channel.wait</pre>
+
+
+
+ <div class="method-source-code" id="open_channel-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 287</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">open_channel</span>(<span class="ruby-identifier">type</span>=<span class="ruby-string">&quot;session&quot;</span>, *<span class="ruby-identifier">extra</span>, &amp;<span class="ruby-identifier">on_confirm</span>)
+ <span class="ruby-identifier">local_id</span> = <span class="ruby-identifier">get_next_channel_id</span>
+ <span class="ruby-identifier">channel</span> = <span class="ruby-constant">Channel</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">local_id</span>, &amp;<span class="ruby-identifier">on_confirm</span>)
+
+ <span class="ruby-identifier">msg</span> = <span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">from</span>(<span class="ruby-value">:byte</span>, <span class="ruby-constant">CHANNEL_OPEN</span>, <span class="ruby-value">:string</span>, <span class="ruby-identifier">type</span>, <span class="ruby-value">:long</span>, <span class="ruby-identifier">local_id</span>,
+ <span class="ruby-value">:long</span>, <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">local_maximum_window_size</span>,
+ <span class="ruby-value">:long</span>, <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">local_maximum_packet_size</span>, *<span class="ruby-identifier">extra</span>)
+ <span class="ruby-identifier">send_message</span>(<span class="ruby-identifier">msg</span>)
+
+ <span class="ruby-identifier">channels</span>[<span class="ruby-identifier">local_id</span>] = <span class="ruby-identifier">channel</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- open_channel-source -->
+
+ </div>
+
+
+
+
+ </div><!-- open_channel-method -->
+
+
+ <div id="postprocess-method" class="method-detail ">
+ <a name="method-i-postprocess"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">postprocess</span><span
+ class="method-args">(readers, writers)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>This is called internally as part of #<a
+href="Session.html#method-i-process">process</a>. It loops over the given
+arrays of reader IO’s and writer IO’s, processing them as needed, and then
+calls <a
+href="../Transport/Session.html#method-i-rekey_as_needed">Net::SSH::Transport::Session#rekey_as_needed</a>
+to allow the <a href="Session.html#attribute-i-transport">transport</a>
+layer to rekey. Then returns true.</p>
+
+
+
+ <div class="method-source-code" id="postprocess-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 223</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">postprocess</span>(<span class="ruby-identifier">readers</span>, <span class="ruby-identifier">writers</span>)
+ <span class="ruby-constant">Array</span>(<span class="ruby-identifier">readers</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">reader</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">listeners</span>[<span class="ruby-identifier">reader</span>]
+ <span class="ruby-identifier">listeners</span>[<span class="ruby-identifier">reader</span>].<span class="ruby-identifier">call</span>(<span class="ruby-identifier">reader</span>)
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">reader</span>.<span class="ruby-identifier">fill</span>.<span class="ruby-identifier">zero?</span>
+ <span class="ruby-identifier">reader</span>.<span class="ruby-identifier">close</span>
+ <span class="ruby-identifier">stop_listening_to</span>(<span class="ruby-identifier">reader</span>)
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-constant">Array</span>(<span class="ruby-identifier">writers</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">writer</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">writer</span>.<span class="ruby-identifier">send_pending</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">transport</span>.<span class="ruby-identifier">rekey_as_needed</span>
+
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- postprocess-source -->
+
+ </div>
+
+
+
+
+ </div><!-- postprocess-method -->
+
+
+ <div id="preprocess-method" class="method-detail ">
+ <a name="method-i-preprocess"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">preprocess</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>This is called internally as part of #<a
+href="Session.html#method-i-process">process</a>. It dispatches any
+available incoming packets, and then runs <a
+href="Channel.html#method-i-process">Net::SSH::Connection::Channel#process</a>
+for any active channels. If a block is given, it is invoked at the start of
+the method and again at the end, and if the block ever returns false, this
+method returns false. Otherwise, it returns true.</p>
+
+
+
+ <div class="method-source-code" id="preprocess-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 211</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">preprocess</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-keyword">yield</span>(<span class="ruby-keyword">self</span>)
+ <span class="ruby-identifier">dispatch_incoming_packets</span>
+ <span class="ruby-identifier">channels</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">id</span>, <span class="ruby-identifier">channel</span><span class="ruby-operator">|</span> <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">process</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">closing?</span> }
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-keyword">yield</span>(<span class="ruby-keyword">self</span>)
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- preprocess-source -->
+
+ </div>
+
+
+
+
+ </div><!-- preprocess-method -->
+
+
+ <div id="process-method" class="method-detail ">
+ <a name="method-i-process"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">process</span><span
+ class="method-args">(wait=nil, &block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>The core of the event <a href="Session.html#method-i-loop">loop</a>. It
+processes a single iteration of the event <a
+href="Session.html#method-i-loop">loop</a>. If a block is given, it should
+return false when the processing should abort, which causes #<a
+href="Session.html#method-i-process">process</a> to return false.
+Otherwise, #<a href="Session.html#method-i-process">process</a> returns
+true. The session itself is yielded to the block as its only argument.</p>
+
+<p>If <tt>wait</tt> is nil (the default), this method will block until any of
+the monitored IO objects are ready to be read from or written to. If you
+want it to not block, you can pass 0, or you can pass any other numeric
+value to indicate that it should block for no more than that many seconds.
+Passing 0 is a good way to poll the connection, but if you do it too
+frequently it can make your CPU quite busy!</p>
+
+<p>This will also cause all active channels to be processed once each (see <a
+href="Channel.html#method-i-on_process">Net::SSH::Connection::Channel#on_process</a>).</p>
+
+<pre># process multiple Net::SSH connections in parallel
+connections = [
+ Net::SSH.start(&quot;host1&quot;, ...),
+ Net::SSH.start(&quot;host2&quot;, ...)
+]
+
+connections.each do |ssh|
+ ssh.exec &quot;grep something /in/some/files&quot;
+end
+
+condition = Proc.new { |s| s.busy? }
+
+loop do
+ connections.delete_if { |ssh| !ssh.process(0.1, &amp;condition) }
+ break if connections.empty?
+end</pre>
+
+
+
+ <div class="method-source-code" id="process-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 196</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">process</span>(<span class="ruby-identifier">wait</span>=<span class="ruby-keyword">nil</span>, &amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">preprocess</span>(&amp;<span class="ruby-identifier">block</span>)
+
+ <span class="ruby-identifier">r</span> = <span class="ruby-identifier">listeners</span>.<span class="ruby-identifier">keys</span>
+ <span class="ruby-identifier">w</span> = <span class="ruby-identifier">r</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">w2</span><span class="ruby-operator">|</span> <span class="ruby-identifier">w2</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:pending_write?</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">w2</span>.<span class="ruby-identifier">pending_write?</span> }
+ <span class="ruby-identifier">readers</span>, <span class="ruby-identifier">writers</span>, = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Compat</span>.<span class="ruby-identifier">io_select</span>(<span class="ruby-identifier">r</span>, <span class="ruby-identifier">w</span>, <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">wait</span>)
+
+ <span class="ruby-identifier">postprocess</span>(<span class="ruby-identifier">readers</span>, <span class="ruby-identifier">writers</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- process-source -->
+
+ </div>
+
+
+
+
+ </div><!-- process-method -->
+
+
+ <div id="send_global_request-method" class="method-detail ">
+ <a name="method-i-send_global_request"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">send_global_request</span><span
+ class="method-args">(type, *extra, &callback)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Send a global request of the given type. The <tt>extra</tt> parameters must
+be even in number, and conform to the same format as described for <a
+href="../Buffer.html#method-c-from">Net::SSH::Buffer.from</a>. If a
+callback is not specified, the request will not require a response from the
+server, otherwise the server is required to respond and indicate whether
+the request was successful or not. This success or failure is indicated by
+the callback being invoked, with the first parameter being true or false
+(success, or failure), and the second being the packet itself.</p>
+
+<p>Generally, <a href="../../SSH.html">Net::SSH</a> will manage global
+requests that need to be sent (e.g. port <a
+href="Session.html#method-i-forward">forward</a> requests and such are
+handled in the <a
+href="../Service/Forward.html">Net::SSH::Service::Forward</a> class, for
+instance). However, there may be times when you need to send a global
+request that isn’t explicitly handled by <a
+href="../../SSH.html">Net::SSH</a>, and so this method is available to you.</p>
+
+<pre>ssh.send_global_request(&quot;keep-alive@openssh.com&quot;)</pre>
+
+
+
+ <div class="method-source-code" id="send_global_request-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 260</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">send_global_request</span>(<span class="ruby-identifier">type</span>, *<span class="ruby-identifier">extra</span>, &amp;<span class="ruby-identifier">callback</span>)
+ <span class="ruby-identifier">info</span> { <span class="ruby-node">&quot;sending global request #{type}&quot;</span> }
+ <span class="ruby-identifier">msg</span> = <span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">from</span>(<span class="ruby-value">:byte</span>, <span class="ruby-constant">GLOBAL_REQUEST</span>, <span class="ruby-value">:string</span>, <span class="ruby-identifier">type</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">:bool</span>, <span class="ruby-operator">!</span><span class="ruby-identifier">callback</span>.<span class="ruby-identifier">nil?</span>, *<span class="ruby-identifier">extra</span>)
+ <span class="ruby-identifier">send_message</span>(<span class="ruby-identifier">msg</span>)
+ <span class="ruby-identifier">pending_requests</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">callback</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">callback</span>
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- send_global_request-source -->
+
+ </div>
+
+
+
+
+ </div><!-- send_global_request-method -->
+
+
+ <div id="send_message-method" class="method-detail ">
+ <a name="method-i-send_message"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">send_message</span><span
+ class="method-args">(message)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Enqueues a message to be sent to the server as soon as the socket is
+available for writing. Most programs will never need to call this, but if
+you are implementing an extension to the <a href="../../SSH.html">SSH</a>
+protocol, or if you need to send a packet that <a
+href="../../SSH.html">Net::SSH</a> does not directly support, you can use
+this to send it.</p>
+
+<pre>ssh.send_message(Buffer.from(:byte, REQUEST_SUCCESS).to_s)</pre>
+
+
+
+ <div class="method-source-code" id="send_message-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 367</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">send_message</span>(<span class="ruby-identifier">message</span>)
+ <span class="ruby-identifier">transport</span>.<span class="ruby-identifier">enqueue_message</span>(<span class="ruby-identifier">message</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- send_message-source -->
+
+ </div>
+
+
+
+
+ </div><!-- send_message-method -->
+
+
+ <div id="shutdown-21-method" class="method-detail ">
+ <a name="method-i-shutdown-21"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">shutdown!</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Performs a “hard” shutdown of the connection. In general, this should never
+be done, but it might be necessary (in a rescue clause, for instance, when
+the connection needs to <a href="Session.html#method-i-close">close</a> but
+you don’t know the status of the underlying protocol’s state).</p>
+
+
+
+ <div class="method-source-code" id="shutdown-21-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 118</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">shutdown!</span>
+ <span class="ruby-identifier">transport</span>.<span class="ruby-identifier">shutdown!</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- shutdown-21-source -->
+
+ </div>
+
+
+
+
+ </div><!-- shutdown-21-method -->
+
+
+ <div id="stop_listening_to-method" class="method-detail ">
+ <a name="method-i-stop_listening_to"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">stop_listening_to</span><span
+ class="method-args">(io)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Removes the given io object from the listeners collection, so that the
+event <a href="Session.html#method-i-loop">loop</a> will no longer monitor
+it.</p>
+
+
+
+ <div class="method-source-code" id="stop_listening_to-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 411</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">stop_listening_to</span>(<span class="ruby-identifier">io</span>)
+ <span class="ruby-identifier">listeners</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">io</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- stop_listening_to-source -->
+
+ </div>
+
+
+
+
+ </div><!-- stop_listening_to-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Connection/Session/NilChannel.html b/Net/SSH/Connection/Session/NilChannel.html
new file mode 100644
index 0000000..e260500
--- /dev/null
+++ b/Net/SSH/Connection/Session/NilChannel.html
@@ -0,0 +1,477 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Connection::Session::NilChannel</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/connection/session_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/connection/session.rb">lib/net/ssh/connection/session.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-method_missing">#method_missing</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Connection::Session::NilChannel</h1>
+
+ <div id="description" class="description">
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(session)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 51</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">session</span>)
+ <span class="ruby-ivar">@session</span> = <span class="ruby-identifier">session</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="method_missing-method" class="method-detail ">
+ <a name="method-i-method_missing"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">method_missing</span><span
+ class="method-args">(sym, *args)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="method_missing-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/connection/session.rb, line 55</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">sym</span>, *<span class="ruby-identifier">args</span>)
+ <span class="ruby-ivar">@session</span>.<span class="ruby-identifier">lwarn</span> { <span class="ruby-node">&quot;ignoring request #{sym.inspect} for non-existent (closed?) channel; probably ssh server bug&quot;</span> }
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- method_missing-source -->
+
+ </div>
+
+
+
+
+ </div><!-- method_missing-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Connection/Term.html b/Net/SSH/Connection/Term.html
new file mode 100644
index 0000000..aea89c0
--- /dev/null
+++ b/Net/SSH/Connection/Term.html
@@ -0,0 +1,673 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Connection::Term</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/connection/term_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/connection/term.rb">lib/net/ssh/connection/term.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Connection::Term</h1>
+
+ <div id="description" class="description">
+
+<p>These constants are used when requesting a pseudo-terminal (via <a
+href="Channel.html#method-i-request_pty">Net::SSH::Connection::Channel#request_pty</a>).
+The descriptions for each are taken directly from RFC 4254 (“The Secure
+Shell (<a href="../../SSH.html">SSH</a>) <a
+href="../Connection.html">Connection</a> Protocol”), <a
+href="http://tools.ietf.org/html/rfc4254.">tools.ietf.org/html/rfc4254.</a></p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="CS7">CS7</a></dt>
+
+ <dd class="description"><p>7 bit mode.</p></dd>
+
+
+ <dt><a name="CS8">CS8</a></dt>
+
+ <dd class="description"><p>8 bit mode.</p></dd>
+
+
+ <dt><a name="ECHO">ECHO</a></dt>
+
+ <dd class="description"><p>Enable echoing.</p></dd>
+
+
+ <dt><a name="ECHOCTL">ECHOCTL</a></dt>
+
+ <dd class="description"><p>Echo control characters as ^(Char).</p></dd>
+
+
+ <dt><a name="ECHOE">ECHOE</a></dt>
+
+ <dd class="description"><p>Visually erase chars.</p></dd>
+
+
+ <dt><a name="ECHOK">ECHOK</a></dt>
+
+ <dd class="description"><p>Kill character discards current line.</p></dd>
+
+
+ <dt><a name="ECHOKE">ECHOKE</a></dt>
+
+ <dd class="description"><p>Visual erase for line kill.</p></dd>
+
+
+ <dt><a name="ECHONL">ECHONL</a></dt>
+
+ <dd class="description"><p>Echo NL even if <a href="Term.html#ECHO">ECHO</a> is off.</p></dd>
+
+
+ <dt><a name="ICANON">ICANON</a></dt>
+
+ <dd class="description"><p>Canonicalize input lines.</p></dd>
+
+
+ <dt><a name="ICRNL">ICRNL</a></dt>
+
+ <dd class="description"><p>Map CR to NL on input.</p></dd>
+
+
+ <dt><a name="IEXTEN">IEXTEN</a></dt>
+
+ <dd class="description"><p>Enable extensions.</p></dd>
+
+
+ <dt><a name="IGNCR">IGNCR</a></dt>
+
+ <dd class="description"><p>Ignore CR on input.</p></dd>
+
+
+ <dt><a name="IGNPAR">IGNPAR</a></dt>
+
+ <dd class="description"><p>The ignore parity flag. The parameter SHOULD be 0 if this flag is FALSE,
+and 1 if it is TRUE.</p></dd>
+
+
+ <dt><a name="IMAXBEL">IMAXBEL</a></dt>
+
+ <dd class="description"><p>Ring bell on input queue full.</p></dd>
+
+
+ <dt><a name="INCLR">INCLR</a></dt>
+
+ <dd class="description"><p>Map NL into CR on input.</p></dd>
+
+
+ <dt><a name="INPCK">INPCK</a></dt>
+
+ <dd class="description"><p>Enable checking of parity errors.</p></dd>
+
+
+ <dt><a name="ISIG">ISIG</a></dt>
+
+ <dd class="description"><p>Enable signals INTR, QUIT, [D]SUSP.</p></dd>
+
+
+ <dt><a name="ISTRIP">ISTRIP</a></dt>
+
+ <dd class="description"><p>Strip 8th bit off characters.</p></dd>
+
+
+ <dt><a name="IUCLC">IUCLC</a></dt>
+
+ <dd class="description"><p>Translate uppercase characters to lowercase.</p></dd>
+
+
+ <dt><a name="IXANY">IXANY</a></dt>
+
+ <dd class="description"><p>Any char will restart after stop.</p></dd>
+
+
+ <dt><a name="IXOFF">IXOFF</a></dt>
+
+ <dd class="description"><p>Enable input flow control.</p></dd>
+
+
+ <dt><a name="IXON">IXON</a></dt>
+
+ <dd class="description"><p>Enable output flow control.</p></dd>
+
+
+ <dt><a name="NOFLSH">NOFLSH</a></dt>
+
+ <dd class="description"><p>Don’t flush after interrupt.</p></dd>
+
+
+ <dt><a name="OCRNL">OCRNL</a></dt>
+
+ <dd class="description"><p>Translate carriage return to newline (output).</p></dd>
+
+
+ <dt><a name="OLCUC">OLCUC</a></dt>
+
+ <dd class="description"><p>Convert lowercase to uppercase.</p></dd>
+
+
+ <dt><a name="ONLCR">ONLCR</a></dt>
+
+ <dd class="description"><p>Map NL to CR-NL.</p></dd>
+
+
+ <dt><a name="ONLRET">ONLRET</a></dt>
+
+ <dd class="description"><p>Newline performs a carriage return (output).</p></dd>
+
+
+ <dt><a name="ONOCR">ONOCR</a></dt>
+
+ <dd class="description"><p>Translate newline to carriage return-newline (output).</p></dd>
+
+
+ <dt><a name="OPOST">OPOST</a></dt>
+
+ <dd class="description"><p>Enable output processing.</p></dd>
+
+
+ <dt><a name="PARENB">PARENB</a></dt>
+
+ <dd class="description"><p>Parity enable.</p></dd>
+
+
+ <dt><a name="PARMRK">PARMRK</a></dt>
+
+ <dd class="description"><p>Mark parity and framing errors.</p></dd>
+
+
+ <dt><a name="PARODD">PARODD</a></dt>
+
+ <dd class="description"><p>Odd parity, else even.</p></dd>
+
+
+ <dt><a name="PENDIN">PENDIN</a></dt>
+
+ <dd class="description"><p>Retype pending input.</p></dd>
+
+
+ <dt><a name="TOSTOP">TOSTOP</a></dt>
+
+ <dd class="description"><p>Stop background jobs from output.</p></dd>
+
+
+ <dt><a name="TTY_OP_ISPEED">TTY_OP_ISPEED</a></dt>
+
+ <dd class="description"><p>Specifies the input baud rate in bits per second.</p></dd>
+
+
+ <dt><a name="TTY_OP_OSPEED">TTY_OP_OSPEED</a></dt>
+
+ <dd class="description"><p>Specifies the output baud rate in bits per second.</p></dd>
+
+
+ <dt><a name="VDISCARD">VDISCARD</a></dt>
+
+ <dd class="description"><p>Toggles the flushing of terminal output.</p></dd>
+
+
+ <dt><a name="VDSUSP">VDSUSP</a></dt>
+
+ <dd class="description"><p>Another suspend character.</p></dd>
+
+
+ <dt><a name="VEOF">VEOF</a></dt>
+
+ <dd class="description"><p>End-of-file character (sends EOF from the terminal).</p></dd>
+
+
+ <dt><a name="VEOL">VEOL</a></dt>
+
+ <dd class="description"><p>End-of-line character in addition to carriage return and/or linefeed.</p></dd>
+
+
+ <dt><a name="VEOL2">VEOL2</a></dt>
+
+ <dd class="description"><p>Additional end-of-line character.</p></dd>
+
+
+ <dt><a name="VERASE">VERASE</a></dt>
+
+ <dd class="description"><p>Erase the character to left of the cursor.</p></dd>
+
+
+ <dt><a name="VFLUSH">VFLUSH</a></dt>
+
+ <dd class="description"><p>Character to flush output.</p></dd>
+
+
+ <dt><a name="VINTR">VINTR</a></dt>
+
+ <dd class="description"><p>Interrupt character; 255 if none. Similarly for the other characters. Not
+all of these characters are supported on all systems.</p></dd>
+
+
+ <dt><a name="VKILL">VKILL</a></dt>
+
+ <dd class="description"><p>Kill the current input line.</p></dd>
+
+
+ <dt><a name="VLNEXT">VLNEXT</a></dt>
+
+ <dd class="description"><p>Enter the next character typed literally, even if it is a special
+character.</p></dd>
+
+
+ <dt><a name="VQUIT">VQUIT</a></dt>
+
+ <dd class="description"><p>The quit character (sends SIGQUIT signal on POSIX systems).</p></dd>
+
+
+ <dt><a name="VREPRINT">VREPRINT</a></dt>
+
+ <dd class="description"><p>Reprints the current input line.</p></dd>
+
+
+ <dt><a name="VSTART">VSTART</a></dt>
+
+ <dd class="description"><p>Continues paused output (normally control-Q).</p></dd>
+
+
+ <dt><a name="VSTATUS">VSTATUS</a></dt>
+
+ <dd class="description"><p>Prints system status line (load, command, pid, etc).</p></dd>
+
+
+ <dt><a name="VSTOP">VSTOP</a></dt>
+
+ <dd class="description"><p>Pauses output (normally control-S).</p></dd>
+
+
+ <dt><a name="VSUSP">VSUSP</a></dt>
+
+ <dd class="description"><p>Suspends the current program.</p></dd>
+
+
+ <dt><a name="VSWITCH">VSWITCH</a></dt>
+
+ <dd class="description"><p>Switch to a different shell layer.</p></dd>
+
+
+ <dt><a name="VWERASE">VWERASE</a></dt>
+
+ <dd class="description"><p>Erases a word left of cursor.</p></dd>
+
+
+ <dt><a name="XCASE">XCASE</a></dt>
+
+ <dd class="description"><p>Enable input and output of uppercase characters by preceding their
+lowercase equivalents with “".</p></dd>
+
+
+ </dl>
+ </div>
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/ConnectionTimeout.html b/Net/SSH/ConnectionTimeout.html
new file mode 100644
index 0000000..15bcd9f
--- /dev/null
+++ b/Net/SSH/ConnectionTimeout.html
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::ConnectionTimeout</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/errors_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/errors.rb">lib/net/ssh/errors.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Exception.html">Net::SSH::Exception</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::ConnectionTimeout</h1>
+
+ <div id="description" class="description">
+
+<p>This exception is raised when a connection attempt times out.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Disconnect.html b/Net/SSH/Disconnect.html
new file mode 100644
index 0000000..87cfc63
--- /dev/null
+++ b/Net/SSH/Disconnect.html
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Disconnect</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/errors_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/errors.rb">lib/net/ssh/errors.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Exception.html">Net::SSH::Exception</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Disconnect</h1>
+
+ <div id="description" class="description">
+
+<p>This exception is raised when the remote host has disconnected
+unexpectedly.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Exception.html b/Net/SSH/Exception.html
new file mode 100644
index 0000000..e0a7b89
--- /dev/null
+++ b/Net/SSH/Exception.html
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Exception</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/errors_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/errors.rb">lib/net/ssh/errors.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">RuntimeError</p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Exception</h1>
+
+ <div id="description" class="description">
+
+<p>A general exception class, to act as the ancestor of all other <a
+href="../SSH.html">Net::SSH</a> exception classes.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/ForwardedBufferedIo.html b/Net/SSH/ForwardedBufferedIo.html
new file mode 100644
index 0000000..cf92e1f
--- /dev/null
+++ b/Net/SSH/ForwardedBufferedIo.html
@@ -0,0 +1,499 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::ForwardedBufferedIo</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/buffered_io_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/buffered_io.rb">lib/net/ssh/buffered_io.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-fill">#fill</a></li>
+
+ <li><a href="#method-i-send_pending">#send_pending</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::ForwardedBufferedIo</h1>
+
+ <div id="description" class="description">
+
+<p>Fixes for two issues by Miklós Fazekas:</p>
+
+<pre>* if client closes a forwarded connection, but the server is
+ reading, net-ssh terminates with IOError socket closed.
+* if client force closes (RST) a forwarded connection, but
+ server is reading, net-ssh terminates with [an exception]</pre>
+
+<p>See:</p>
+
+<pre>http://net-ssh.lighthouseapp.com/projects/36253/tickets/7
+http://github.com/net-ssh/net-ssh/tree/portfwfix</pre>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="fill-method" class="method-detail ">
+ <a name="method-i-fill"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">fill</span><span
+ class="method-args">(n=8192)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="fill-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffered_io.rb, line 165</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">fill</span>(<span class="ruby-identifier">n</span>=<span class="ruby-value">8192</span>)
+ <span class="ruby-keyword">begin</span>
+ <span class="ruby-keyword">super</span>(<span class="ruby-identifier">n</span>)
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">ECONNRESET</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;connection was reset =&gt; shallowing exception:#{e}&quot;</span> }
+ <span class="ruby-keyword">return</span> <span class="ruby-value">0</span>
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">IOError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/closed/</span> <span class="ruby-keyword">then</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;connection was reset =&gt; shallowing exception:#{e}&quot;</span> }
+ <span class="ruby-keyword">return</span> <span class="ruby-value">0</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">raise</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- fill-source -->
+
+ </div>
+
+
+
+
+ </div><!-- fill-method -->
+
+
+ <div id="send_pending-method" class="method-detail ">
+ <a name="method-i-send_pending"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">send_pending</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="send_pending-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/buffered_io.rb, line 181</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">send_pending</span>
+ <span class="ruby-keyword">begin</span>
+ <span class="ruby-keyword">super</span>
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">ECONNRESET</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;connection was reset =&gt; shallowing exception:#{e}&quot;</span> }
+ <span class="ruby-keyword">return</span> <span class="ruby-value">0</span>
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">IOError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/closed/</span> <span class="ruby-keyword">then</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;connection was reset =&gt; shallowing exception:#{e}&quot;</span> }
+ <span class="ruby-keyword">return</span> <span class="ruby-value">0</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">raise</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- send_pending-source -->
+
+ </div>
+
+
+
+
+ </div><!-- send_pending-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/HostKeyError.html b/Net/SSH/HostKeyError.html
new file mode 100644
index 0000000..aa3a7b2
--- /dev/null
+++ b/Net/SSH/HostKeyError.html
@@ -0,0 +1,674 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::HostKeyError</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/errors_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/errors.rb">lib/net/ssh/errors.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Exception.html">Net::SSH::Exception</a></p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-5B-5D">#[]</a></li>
+
+ <li><a href="#method-i-fingerprint">#fingerprint</a></li>
+
+ <li><a href="#method-i-host">#host</a></li>
+
+ <li><a href="#method-i-ip">#ip</a></li>
+
+ <li><a href="#method-i-key">#key</a></li>
+
+ <li><a href="#method-i-port">#port</a></li>
+
+ <li><a href="#method-i-remember_host-21">#remember_host!</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::HostKeyError</h1>
+
+ <div id="description" class="description">
+
+<p>Base class for <a href="HostKeyError.html#method-i-host">host</a> <a
+href="HostKeyError.html#method-i-key">key</a> exceptions. When rescuing
+this exception, you can inspect the <a
+href="HostKeyError.html#method-i-key">key</a> <a
+href="HostKeyError.html#method-i-fingerprint">fingerprint</a> and, if you
+want to proceed anyway, simply call the <a
+href="HostKeyError.html#method-i-remember_host-21">remember_host!</a>
+method on the exception, and then retry.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="5B-5D-method" class="method-detail ">
+ <a name="method-i-5B-5D"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">[]</span><span
+ class="method-args">(key)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>An accessor for getting at the data that was used to look up the <a
+href="HostKeyError.html#method-i-host">host</a> (see also #<a
+href="HostKeyError.html#method-i-fingerprint">fingerprint</a>, #<a
+href="HostKeyError.html#method-i-host">host</a>, #<a
+href="HostKeyError.html#method-i-port">port</a>, #<a
+href="HostKeyError.html#method-i-ip">ip</a>, and #<a
+href="HostKeyError.html#method-i-key">key</a>).</p>
+
+
+
+ <div class="method-source-code" id="5B-5D-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/errors.rb, line 50</span>
+<span class="ruby-keyword">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">key</span>)
+ <span class="ruby-ivar">@data</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@data</span>[<span class="ruby-identifier">key</span>]
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- 5B-5D-source -->
+
+ </div>
+
+
+
+
+ </div><!-- 5B-5D-method -->
+
+
+ <div id="fingerprint-method" class="method-detail ">
+ <a name="method-i-fingerprint"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">fingerprint</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns the <a
+href="HostKeyError.html#method-i-fingerprint">fingerprint</a> of the <a
+href="HostKeyError.html#method-i-key">key</a> for the <a
+href="HostKeyError.html#method-i-host">host</a>, which either was not found
+or did not match.</p>
+
+
+
+ <div class="method-source-code" id="fingerprint-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/errors.rb, line 56</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">fingerprint</span>
+ <span class="ruby-ivar">@data</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@data</span>[<span class="ruby-value">:fingerprint</span>]
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- fingerprint-source -->
+
+ </div>
+
+
+
+
+ </div><!-- fingerprint-method -->
+
+
+ <div id="host-method" class="method-detail ">
+ <a name="method-i-host"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">host</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns the <a href="HostKeyError.html#method-i-host">host</a> name for the
+remote <a href="HostKeyError.html#method-i-host">host</a>, as reported by
+the socket.</p>
+
+
+
+ <div class="method-source-code" id="host-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/errors.rb, line 61</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">host</span>
+ <span class="ruby-ivar">@data</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@data</span>[<span class="ruby-value">:peer</span>] <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@data</span>[<span class="ruby-value">:peer</span>][<span class="ruby-value">:host</span>]
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- host-source -->
+
+ </div>
+
+
+
+
+ </div><!-- host-method -->
+
+
+ <div id="ip-method" class="method-detail ">
+ <a name="method-i-ip"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">ip</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns the IP address of the remote <a
+href="HostKeyError.html#method-i-host">host</a>, as reported by the socket.</p>
+
+
+
+ <div class="method-source-code" id="ip-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/errors.rb, line 71</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">ip</span>
+ <span class="ruby-ivar">@data</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@data</span>[<span class="ruby-value">:peer</span>] <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@data</span>[<span class="ruby-value">:peer</span>][<span class="ruby-value">:ip</span>]
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- ip-source -->
+
+ </div>
+
+
+
+
+ </div><!-- ip-method -->
+
+
+ <div id="key-method" class="method-detail ">
+ <a name="method-i-key"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">key</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns the <a href="HostKeyError.html#method-i-key">key</a> itself, as
+reported by the remote <a href="HostKeyError.html#method-i-host">host</a>.</p>
+
+
+
+ <div class="method-source-code" id="key-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/errors.rb, line 76</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">key</span>
+ <span class="ruby-ivar">@data</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@data</span>[<span class="ruby-value">:key</span>]
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- key-source -->
+
+ </div>
+
+
+
+
+ </div><!-- key-method -->
+
+
+ <div id="port-method" class="method-detail ">
+ <a name="method-i-port"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">port</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns the <a href="HostKeyError.html#method-i-port">port</a> number for
+the remote <a href="HostKeyError.html#method-i-host">host</a>, as reported
+by the socket.</p>
+
+
+
+ <div class="method-source-code" id="port-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/errors.rb, line 66</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">port</span>
+ <span class="ruby-ivar">@data</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@data</span>[<span class="ruby-value">:peer</span>] <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@data</span>[<span class="ruby-value">:peer</span>][<span class="ruby-value">:port</span>]
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- port-source -->
+
+ </div>
+
+
+
+
+ </div><!-- port-method -->
+
+
+ <div id="remember_host-21-method" class="method-detail ">
+ <a name="method-i-remember_host-21"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">remember_host!</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Tell <a href="../SSH.html">Net::SSH</a> to record this <a
+href="HostKeyError.html#method-i-host">host</a> and <a
+href="HostKeyError.html#method-i-key">key</a> in the known hosts file, so
+that subsequent connections will remember them.</p>
+
+
+
+ <div class="method-source-code" id="remember_host-21-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/errors.rb, line 82</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">remember_host!</span>
+ <span class="ruby-ivar">@callback</span>.<span class="ruby-identifier">call</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- remember_host-21-source -->
+
+ </div>
+
+
+
+
+ </div><!-- remember_host-21-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/HostKeyMismatch.html b/Net/SSH/HostKeyMismatch.html
new file mode 100644
index 0000000..cfacdad
--- /dev/null
+++ b/Net/SSH/HostKeyMismatch.html
@@ -0,0 +1,393 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::HostKeyMismatch</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/errors_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/errors.rb">lib/net/ssh/errors.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="HostKeyError.html">Net::SSH::HostKeyError</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::HostKeyMismatch</h1>
+
+ <div id="description" class="description">
+
+<p>Raised when the cached key for a particular host does not match the key
+given by the host, which can be indicative of a man-in-the-middle attack.
+When rescuing this exception, you can inspect the key fingerprint and, if
+you want to proceed anyway, simply call the remember_host! method on the
+exception, and then retry.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/HostKeyUnknown.html b/Net/SSH/HostKeyUnknown.html
new file mode 100644
index 0000000..2be3f27
--- /dev/null
+++ b/Net/SSH/HostKeyUnknown.html
@@ -0,0 +1,393 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::HostKeyUnknown</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/errors_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/errors.rb">lib/net/ssh/errors.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="HostKeyError.html">Net::SSH::HostKeyError</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::HostKeyUnknown</h1>
+
+ <div id="description" class="description">
+
+<p>Raised when there is no cached key for a particular host, which probably
+means that the host has simply not been seen before. When rescuing this
+exception, you can inspect the key fingerprint and, if you want to proceed
+anyway, simply call the remember_host! method on the exception, and then
+retry.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/KeyFactory.html b/Net/SSH/KeyFactory.html
new file mode 100644
index 0000000..0550a02
--- /dev/null
+++ b/Net/SSH/KeyFactory.html
@@ -0,0 +1,664 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::KeyFactory</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/key_factory_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/key_factory.rb">lib/net/ssh/key_factory.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-get">::get</a></li>
+
+ <li><a href="#method-c-load_data_private_key">::load_data_private_key</a></li>
+
+ <li><a href="#method-c-load_data_public_key">::load_data_public_key</a></li>
+
+ <li><a href="#method-c-load_private_key">::load_private_key</a></li>
+
+ <li><a href="#method-c-load_public_key">::load_public_key</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><span class="include">Prompt</span></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::KeyFactory</h1>
+
+ <div id="description" class="description">
+
+<p>A factory class for returning new Key classes. It is used for obtaining <a
+href="../../OpenSSL.html">OpenSSL</a> key instances via their <a
+href="../SSH.html">SSH</a> names, and for loading both public and private
+keys. It used used primarily by <a href="../SSH.html">Net::SSH</a> itself,
+internally, and will rarely (if ever) be directly used by consumers of the
+library.</p>
+
+<pre>klass = Net::SSH::KeyFactory.get(&quot;rsa&quot;)
+assert klass.is_a?(OpenSSL::PKey::RSA)
+
+key = Net::SSH::KeyFactory.load_public_key(&quot;~/.ssh/id_dsa.pub&quot;)</pre>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="MAP">MAP</a></dt>
+
+ <dd class="description"><p>Specifies the mapping of <a href="../SSH.html">SSH</a> names to <a
+href="../../OpenSSL.html">OpenSSL</a> key classes.</p></dd>
+
+
+ </dl>
+ </div>
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="get-method" class="method-detail ">
+ <a name="method-c-get"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">get</span><span
+ class="method-args">(name)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Fetch an <a href="../../OpenSSL.html">OpenSSL</a> key instance by its <a
+href="../SSH.html">SSH</a> name. It will be a new, empty key of the given
+type.</p>
+
+
+
+ <div class="method-source-code" id="get-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/key_factory.rb, line 31</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">name</span>)
+ <span class="ruby-constant">MAP</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-identifier">name</span>).<span class="ruby-identifier">new</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- get-source -->
+
+ </div>
+
+
+
+
+ </div><!-- get-method -->
+
+
+ <div id="load_data_private_key-method" class="method-detail ">
+ <a name="method-c-load_data_private_key"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">load_data_private_key</span><span
+ class="method-args">(data, passphrase=nil, ask_passphrase=true, filename="")</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Loads a private key. It will correctly determine whether the file describes
+an RSA or DSA key, and will load it appropriately. The new key is returned.
+If the key itself is encrypted (requiring a passphrase to use), the user
+will be prompted to enter their password unless passphrase works.</p>
+
+
+
+ <div class="method-source-code" id="load_data_private_key-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/key_factory.rb, line 50</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">load_data_private_key</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">passphrase</span>=<span class="ruby-keyword">nil</span>, <span class="ruby-identifier">ask_passphrase</span>=<span class="ruby-keyword">true</span>, <span class="ruby-identifier">filename</span>=<span class="ruby-string">&quot;&quot;</span>)
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">data</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp">/-----BEGIN DSA PRIVATE KEY-----/</span>)
+ <span class="ruby-identifier">key_type</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">DSA</span>
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">data</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp">/-----BEGIN RSA PRIVATE KEY-----/</span>)
+ <span class="ruby-identifier">key_type</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">RSA</span>
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">data</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp">/-----BEGIN EC PRIVATE KEY-----/</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-keyword">defined?</span>(<span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">EC</span>)
+ <span class="ruby-identifier">key_type</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">EC</span>
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">data</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp">/-----BEGIN (.*) PRIVATE KEY-----/</span>)
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">PKeyError</span>, <span class="ruby-node">&quot;not a supported key type '#{$1}'&quot;</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">PKeyError</span>, <span class="ruby-node">&quot;not a private key (#{filename})&quot;</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">encrypted_key</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp">/ENCRYPTED/</span>)
+ <span class="ruby-identifier">tries</span> = <span class="ruby-value">0</span>
+
+ <span class="ruby-keyword">begin</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">key_type</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">passphrase</span> <span class="ruby-operator">||</span> <span class="ruby-string">'invalid'</span>)
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">RSAError</span>, <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">DSAError</span>, <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">ECError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">encrypted_key</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">ask_passphrase</span>
+ <span class="ruby-identifier">tries</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">tries</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value">3</span>
+ <span class="ruby-identifier">passphrase</span> = <span class="ruby-identifier">prompt</span>(<span class="ruby-node">&quot;Enter passphrase for #{filename}:&quot;</span>, <span class="ruby-keyword">false</span>)
+ <span class="ruby-keyword">retry</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">raise</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">raise</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- load_data_private_key-source -->
+
+ </div>
+
+
+
+
+ </div><!-- load_data_private_key-method -->
+
+
+ <div id="load_data_public_key-method" class="method-detail ">
+ <a name="method-c-load_data_public_key"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">load_data_public_key</span><span
+ class="method-args">(data, filename="")</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Loads a public key. It will correctly determine whether the file describes
+an RSA or DSA key, and will load it appropriately. The new public key is
+returned.</p>
+
+
+
+ <div class="method-source-code" id="load_data_public_key-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/key_factory.rb, line 94</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">load_data_public_key</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">filename</span>=<span class="ruby-string">&quot;&quot;</span>)
+ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">blob</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/ /</span>)
+
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-node">&quot;public key at #{filename} is not valid&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">blob</span>.<span class="ruby-identifier">nil?</span>
+
+ <span class="ruby-identifier">blob</span> = <span class="ruby-identifier">blob</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&quot;m*&quot;</span>).<span class="ruby-identifier">first</span>
+ <span class="ruby-identifier">reader</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">blob</span>)
+ <span class="ruby-identifier">reader</span>.<span class="ruby-identifier">read_key</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">PKeyError</span>, <span class="ruby-node">&quot;not a public key #{filename.inspect}&quot;</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- load_data_public_key-source -->
+
+ </div>
+
+
+
+
+ </div><!-- load_data_public_key-method -->
+
+
+ <div id="load_private_key-method" class="method-detail ">
+ <a name="method-c-load_private_key"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">load_private_key</span><span
+ class="method-args">(filename, passphrase=nil, ask_passphrase=true)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Loads a private key from a file. It will correctly determine whether the
+file describes an RSA or DSA key, and will load it appropriately. The new
+key is returned. If the key itself is encrypted (requiring a passphrase to
+use), the user will be prompted to enter their password unless passphrase
+works.</p>
+
+
+
+ <div class="method-source-code" id="load_private_key-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/key_factory.rb, line 40</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">load_private_key</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-identifier">passphrase</span>=<span class="ruby-keyword">nil</span>, <span class="ruby-identifier">ask_passphrase</span>=<span class="ruby-keyword">true</span>)
+ <span class="ruby-identifier">data</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">filename</span>))
+ <span class="ruby-identifier">load_data_private_key</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">passphrase</span>, <span class="ruby-identifier">ask_passphrase</span>, <span class="ruby-identifier">filename</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- load_private_key-source -->
+
+ </div>
+
+
+
+
+ </div><!-- load_private_key-method -->
+
+
+ <div id="load_public_key-method" class="method-detail ">
+ <a name="method-c-load_public_key"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">load_public_key</span><span
+ class="method-args">(filename)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Loads a public key from a file. It will correctly determine whether the
+file describes an RSA or DSA key, and will load it appropriately. The new
+public key is returned.</p>
+
+
+
+ <div class="method-source-code" id="load_public_key-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/key_factory.rb, line 86</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">load_public_key</span>(<span class="ruby-identifier">filename</span>)
+ <span class="ruby-identifier">data</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">filename</span>))
+ <span class="ruby-identifier">load_data_public_key</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">filename</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- load_public_key-source -->
+
+ </div>
+
+
+
+
+ </div><!-- load_public_key-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/KnownHosts.html b/Net/SSH/KnownHosts.html
new file mode 100644
index 0000000..4ea0e17
--- /dev/null
+++ b/Net/SSH/KnownHosts.html
@@ -0,0 +1,773 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::KnownHosts</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/known_hosts_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/known_hosts.rb">lib/net/ssh/known_hosts.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-add">::add</a></li>
+
+ <li><a href="#method-c-hostfiles">::hostfiles</a></li>
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-c-search_for">::search_for</a></li>
+
+ <li><a href="#method-c-search_in">::search_in</a></li>
+
+ <li><a href="#method-i-add">#add</a></li>
+
+ <li><a href="#method-i-keys_for">#keys_for</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::KnownHosts</h1>
+
+ <div id="description" class="description">
+
+<p>Searches an OpenSSH-style known-host file for a given host, and returns all
+matching keys. This is used to implement host-key verification, as well as
+to determine what key a user prefers to use for a given host.</p>
+
+<p>This is used internally by <a href="../SSH.html">Net::SSH</a>, and will
+never need to be used directly by consumers of the library.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="SUPPORTED_TYPE">SUPPORTED_TYPE</a></dt>
+
+ <dd class="description"></dd>
+
+
+ </dl>
+ </div>
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="source-attribute-method" class="method-detail">
+ <a name="source"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">source</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The host-key file name that this <a href="KnownHosts.html">KnownHosts</a>
+instance will use to search for keys.</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="add-method" class="method-detail ">
+ <a name="method-c-add"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">add</span><span
+ class="method-args">(host, key, options={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Looks in all user known host files (see <a
+href="KnownHosts.html#method-c-hostfiles">KnownHosts.hostfiles</a>) and
+tries to <a href="KnownHosts.html#method-c-add">add</a> an entry for the
+given host and key to the first file it is able to.</p>
+
+
+
+ <div class="method-source-code" id="add-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/known_hosts.rb, line 64</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">add</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">key</span>, <span class="ruby-identifier">options</span>={})
+ <span class="ruby-identifier">hostfiles</span>(<span class="ruby-identifier">options</span>, <span class="ruby-value">:user</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword">begin</span>
+ <span class="ruby-constant">KnownHosts</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">file</span>).<span class="ruby-identifier">add</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">key</span>)
+ <span class="ruby-keyword">return</span>
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">SystemCallError</span>
+ <span class="ruby-comment"># try the next hostfile</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- add-source -->
+
+ </div>
+
+
+
+
+ </div><!-- add-method -->
+
+
+ <div id="hostfiles-method" class="method-detail ">
+ <a name="method-c-hostfiles"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">hostfiles</span><span
+ class="method-args">(options, which=:all)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Looks in the given <tt>options</tt> hash for the :user_known_hosts_file and
+:global_known_hosts_file keys, and returns an array of all known hosts
+files. If the :user_known_hosts_file key is not set, the default is
+returned (~/.ssh/known_hosts and ~/.ssh/known_hosts2). If
+:global_known_hosts_file is not set, the default is used
+(/etc/ssh/known_hosts and /etc/ssh/known_hosts2).</p>
+
+<p>If you only want the user known host files, you can pass :user as the
+second option.</p>
+
+
+
+ <div class="method-source-code" id="hostfiles-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/known_hosts.rb, line 47</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">hostfiles</span>(<span class="ruby-identifier">options</span>, <span class="ruby-identifier">which</span>=<span class="ruby-value">:all</span>)
+ <span class="ruby-identifier">files</span> = []
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">which</span> <span class="ruby-operator">==</span> <span class="ruby-value">:all</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">which</span> <span class="ruby-operator">==</span> <span class="ruby-value">:user</span>
+ <span class="ruby-identifier">files</span> <span class="ruby-operator">+=</span> <span class="ruby-constant">Array</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:user_known_hosts_file</span>] <span class="ruby-operator">||</span> <span class="ruby-node">%(~/.ssh/known_hosts ~/.ssh/known_hosts2)</span>)
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">which</span> <span class="ruby-operator">==</span> <span class="ruby-value">:all</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">which</span> <span class="ruby-operator">==</span> <span class="ruby-value">:global</span>
+ <span class="ruby-identifier">files</span> <span class="ruby-operator">+=</span> <span class="ruby-constant">Array</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:global_known_hosts_file</span>] <span class="ruby-operator">||</span> <span class="ruby-node">%(/etc/ssh/known_hosts /etc/ssh/known_hosts2)</span>)
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">files</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- hostfiles-source -->
+
+ </div>
+
+
+
+
+ </div><!-- hostfiles-method -->
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(source)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Instantiate a <a href="KnownHosts.html#method-c-new">new</a> <a
+href="KnownHosts.html">KnownHosts</a> instance that will search the given
+known-hosts file. The path is expanded file File.expand_path.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/known_hosts.rb, line 82</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">source</span>)
+ <span class="ruby-ivar">@source</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">source</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ <div id="search_for-method" class="method-detail ">
+ <a name="method-c-search_for"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">search_for</span><span
+ class="method-args">(host, options={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Searches all known host files (see <a
+href="KnownHosts.html#method-c-hostfiles">KnownHosts.hostfiles</a>) for all
+keys of the given host. Returns an array of keys found.</p>
+
+
+
+ <div class="method-source-code" id="search_for-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/known_hosts.rb, line 28</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">search_for</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">options</span>={})
+ <span class="ruby-identifier">search_in</span>(<span class="ruby-identifier">hostfiles</span>(<span class="ruby-identifier">options</span>), <span class="ruby-identifier">host</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- search_for-source -->
+
+ </div>
+
+
+
+
+ </div><!-- search_for-method -->
+
+
+ <div id="search_in-method" class="method-detail ">
+ <a name="method-c-search_in"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">search_in</span><span
+ class="method-args">(files, host)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Search for all known keys for the given host, in every file given in the
+<tt>files</tt> array. Returns the list of keys.</p>
+
+
+
+ <div class="method-source-code" id="search_in-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/known_hosts.rb, line 34</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">search_in</span>(<span class="ruby-identifier">files</span>, <span class="ruby-identifier">host</span>)
+ <span class="ruby-identifier">files</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span> <span class="ruby-constant">KnownHosts</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">file</span>).<span class="ruby-identifier">keys_for</span>(<span class="ruby-identifier">host</span>) }.<span class="ruby-identifier">flatten</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- search_in-source -->
+
+ </div>
+
+
+
+
+ </div><!-- search_in-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="add-method" class="method-detail ">
+ <a name="method-i-add"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">add</span><span
+ class="method-args">(host, key)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Tries to append an entry to the current <a
+href="KnownHosts.html#attribute-i-source">source</a> file for the given
+host and key. If it is unable to (because the file is not writable, for
+instance), an exception will be raised.</p>
+
+
+
+ <div class="method-source-code" id="add-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/known_hosts.rb, line 133</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">add</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">key</span>)
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">source</span>, <span class="ruby-string">&quot;a&quot;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">blob</span> = [<span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">from</span>(<span class="ruby-value">:key</span>, <span class="ruby-identifier">key</span>).<span class="ruby-identifier">to_s</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;m*&quot;</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/\s/</span>, <span class="ruby-string">&quot;&quot;</span>)
+ <span class="ruby-identifier">file</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;#{host} #{key.ssh_type} #{blob}&quot;</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- add-source -->
+
+ </div>
+
+
+
+
+ </div><!-- add-method -->
+
+
+ <div id="keys_for-method" class="method-detail ">
+ <a name="method-i-keys_for"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">keys_for</span><span
+ class="method-args">(host)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns an array of all keys that are known to be associatd with the given
+host. The <tt>host</tt> parameter is either the domain name or ip address
+of the host, or both (comma-separated). Additionally, if a non-standard
+port is being used, it may be specified by putting the host (or ip, or
+both) in square brackets, and appending the port outside the brackets after
+a colon. Possible formats for <tt>host</tt>, then, are;</p>
+
+<pre>&quot;net.ssh.test&quot;
+&quot;1.2.3.4&quot;
+&quot;net.ssh.test,1.2.3.4&quot;
+&quot;[net.ssh.test]:5555&quot;
+&quot;[1,2,3,4]:5555&quot;
+&quot;[net.ssh.test]:5555,[1.2.3.4]:5555</pre>
+
+
+
+ <div class="method-source-code" id="keys_for-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/known_hosts.rb, line 99</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">keys_for</span>(<span class="ruby-identifier">host</span>)
+ <span class="ruby-identifier">keys</span> = []
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">keys</span> <span class="ruby-keyword">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">readable?</span>(<span class="ruby-identifier">source</span>)
+
+ <span class="ruby-identifier">entries</span> = <span class="ruby-identifier">host</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/,/</span>)
+
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">source</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">scanner</span> = <span class="ruby-constant">StringScanner</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&quot;&quot;</span>)
+ <span class="ruby-identifier">file</span>.<span class="ruby-identifier">each_line</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">string</span> = <span class="ruby-identifier">line</span>
+
+ <span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">skip</span>(<span class="ruby-regexp">/\s*/</span>)
+ <span class="ruby-keyword">next</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">match?</span>(<span class="ruby-node">/$|#/</span>)
+
+ <span class="ruby-identifier">hostlist</span> = <span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp">/\S+/</span>).<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/,/</span>)
+ <span class="ruby-keyword">next</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">entries</span>.<span class="ruby-identifier">all?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span> <span class="ruby-identifier">hostlist</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">entry</span>) }
+
+ <span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">skip</span>(<span class="ruby-regexp">/\s*/</span>)
+ <span class="ruby-identifier">type</span> = <span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp">/\S+/</span>)
+
+ <span class="ruby-keyword">next</span> <span class="ruby-keyword">unless</span> <span class="ruby-constant">SUPPORTED_TYPE</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">type</span>)
+
+ <span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">skip</span>(<span class="ruby-regexp">/\s*/</span>)
+ <span class="ruby-identifier">blob</span> = <span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">rest</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&quot;m*&quot;</span>).<span class="ruby-identifier">first</span>
+ <span class="ruby-identifier">keys</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">blob</span>).<span class="ruby-identifier">read_key</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">keys</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- keys_for-source -->
+
+ </div>
+
+
+
+
+ </div><!-- keys_for-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Loggable.html b/Net/SSH/Loggable.html
new file mode 100644
index 0000000..96fb587
--- /dev/null
+++ b/Net/SSH/Loggable.html
@@ -0,0 +1,615 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Loggable</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/loggable_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/loggable.rb">lib/net/ssh/loggable.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-debug">#debug</a></li>
+
+ <li><a href="#method-i-error">#error</a></li>
+
+ <li><a href="#method-i-fatal">#fatal</a></li>
+
+ <li><a href="#method-i-info">#info</a></li>
+
+ <li><a href="#method-i-lwarn">#lwarn</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Loggable</h1>
+
+ <div id="description" class="description">
+
+<p>A simple module to make logging easier to deal with. It assumes that the <a
+href="Loggable.html#attribute-i-logger">logger</a> instance (if not nil)
+quacks like a Logger object (in Ruby’s standard library). Although used
+primarily internally by <a href="../SSH.html">Net::SSH</a>, it can easily
+be used to add Net::SSH-like logging to your own programs.</p>
+
+<pre>class MyClass
+ include Net::SSH::Loggable
+end
+
+Net::SSH.start(...) do |ssh|
+ obj = MyClass.new
+ obj.logger = ssh.logger
+ ...
+end</pre>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="logger-attribute-method" class="method-detail">
+ <a name="logger"></a>
+
+ <a name="logger="></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">logger</span><span
+ class="attribute-access-type">[RW]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="Loggable.html#attribute-i-logger">logger</a> instance that
+will be used to log messages. If nil, nothing will be logged.</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="debug-method" class="method-detail ">
+ <a name="method-i-debug"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">debug</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Displays the result of yielding if the log level is Logger::DEBUG or
+greater.</p>
+
+
+
+ <div class="method-source-code" id="debug-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/loggable.rb, line 24</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">debug</span>
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">add</span>(<span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>, <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">facility</span>) { <span class="ruby-keyword">yield</span> } <span class="ruby-keyword">if</span> <span class="ruby-identifier">logger</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug?</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- debug-source -->
+
+ </div>
+
+
+
+
+ </div><!-- debug-method -->
+
+
+ <div id="error-method" class="method-detail ">
+ <a name="method-i-error"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">error</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Displays the result of yielding if the log level is Logger:ERROR or
+greater.</p>
+
+
+
+ <div class="method-source-code" id="error-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/loggable.rb, line 42</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">error</span>
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">add</span>(<span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">ERROR</span>, <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">facility</span>) { <span class="ruby-keyword">yield</span> } <span class="ruby-keyword">if</span> <span class="ruby-identifier">logger</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">error?</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- error-source -->
+
+ </div>
+
+
+
+
+ </div><!-- error-method -->
+
+
+ <div id="fatal-method" class="method-detail ">
+ <a name="method-i-fatal"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">fatal</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Displays the result of yielding if the log level is Logger::FATAL or
+greater.</p>
+
+
+
+ <div class="method-source-code" id="fatal-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/loggable.rb, line 48</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">fatal</span>
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">add</span>(<span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">FATAL</span>, <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">facility</span>) { <span class="ruby-keyword">yield</span> } <span class="ruby-keyword">if</span> <span class="ruby-identifier">logger</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">fatal?</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- fatal-source -->
+
+ </div>
+
+
+
+
+ </div><!-- fatal-method -->
+
+
+ <div id="info-method" class="method-detail ">
+ <a name="method-i-info"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">info</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Displays the result of yielding if the log level is Logger::INFO or
+greater.</p>
+
+
+
+ <div class="method-source-code" id="info-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/loggable.rb, line 30</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">info</span>
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">add</span>(<span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">INFO</span>, <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">facility</span>) { <span class="ruby-keyword">yield</span> } <span class="ruby-keyword">if</span> <span class="ruby-identifier">logger</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info?</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- info-source -->
+
+ </div>
+
+
+
+
+ </div><!-- info-method -->
+
+
+ <div id="lwarn-method" class="method-detail ">
+ <a name="method-i-lwarn"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">lwarn</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Displays the result of yielding if the log level is Logger::WARN or
+greater. (Called <a href="Loggable.html#method-i-lwarn">lwarn</a> to avoid
+shadowing with Kernel#warn.)</p>
+
+
+
+ <div class="method-source-code" id="lwarn-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/loggable.rb, line 36</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">lwarn</span>
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">add</span>(<span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">WARN</span>, <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">facility</span>) { <span class="ruby-keyword">yield</span> } <span class="ruby-keyword">if</span> <span class="ruby-identifier">logger</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn?</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- lwarn-source -->
+
+ </div>
+
+
+
+
+ </div><!-- lwarn-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Packet.html b/Net/SSH/Packet.html
new file mode 100644
index 0000000..2f6f411
--- /dev/null
+++ b/Net/SSH/Packet.html
@@ -0,0 +1,593 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Packet</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/packet_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/packet.rb">lib/net/ssh/packet.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Buffer.html">Net::SSH::Buffer</a></p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-c-register">::register</a></li>
+
+ <li><a href="#method-i-5B-5D">#[]</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+
+
+ <li><a class="include" href="Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+
+
+ <li><a class="include" href="Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Packet</h1>
+
+ <div id="description" class="description">
+
+<p>A specialization of <a href="Buffer.html">Buffer</a> that knows the format
+of certain common packet types. It auto-parses those packet types, and
+allows them to be accessed via the #[] accessor.</p>
+
+<pre>data = some_channel_request_packet
+packet = Net::SSH::Packet.new(data)
+
+p packet.type #-&gt; 98 (CHANNEL_REQUEST)
+p packet[:request]
+p packet[:want_reply]</pre>
+
+<p>This is used exclusively internally by <a href="../SSH.html">Net::SSH</a>,
+and unless you’re doing protocol-level manipulation or are extending <a
+href="../SSH.html">Net::SSH</a> in some way, you’ll never need to use this
+class directly.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="type-attribute-method" class="method-detail">
+ <a name="type"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">type</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The (integer) <a href="Packet.html#attribute-i-type">type</a> of this
+packet.</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(payload)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Create a <a href="Packet.html#method-c-new">new</a> packet from the given
+payload. This will automatically parse the packet if it is one that has
+been previously registered with <a
+href="Packet.html#method-c-register">Packet.register</a>; otherwise, the
+packet will need to be manually parsed using the methods provided in the <a
+href="Buffer.html">Net::SSH::Buffer</a> superclass.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/packet.rb, line 73</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">payload</span>)
+ <span class="ruby-ivar">@named_elements</span> = {}
+ <span class="ruby-keyword">super</span>
+ <span class="ruby-ivar">@type</span> = <span class="ruby-identifier">read_byte</span>
+ <span class="ruby-identifier">instantiate!</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ <div id="register-method" class="method-detail ">
+ <a name="method-c-register"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">register</span><span
+ class="method-args">(type, *pairs)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Register a <a href="Packet.html#method-c-new">new</a> packet <a
+href="Packet.html#attribute-i-type">type</a> that should be recognized and
+auto-parsed by <a href="Packet.html">Net::SSH::Packet</a>. Note that any
+packet <a href="Packet.html#attribute-i-type">type</a> that is not
+preregistered will not be autoparsed.</p>
+
+<p>The <tt>pairs</tt> parameter must be either empty, or an array of
+two-element tuples, where the first element of each tuple is the name of
+the field, and the second is the <a
+href="Packet.html#attribute-i-type">type</a>.</p>
+
+<pre>register DISCONNECT, [:reason_code, :long], [:description, :string], [:language, :string]</pre>
+
+
+
+ <div class="method-source-code" id="register-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/packet.rb, line 34</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">register</span>(<span class="ruby-identifier">type</span>, *<span class="ruby-identifier">pairs</span>)
+ <span class="ruby-identifier">@@types</span>[<span class="ruby-identifier">type</span>] = <span class="ruby-identifier">pairs</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- register-source -->
+
+ </div>
+
+
+
+
+ </div><!-- register-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="5B-5D-method" class="method-detail ">
+ <a name="method-i-5B-5D"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">[]</span><span
+ class="method-args">(name)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Access one of the auto-parsed fields by name. Raises an error if no element
+by the given name exists.</p>
+
+
+
+ <div class="method-source-code" id="5B-5D-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/packet.rb, line 82</span>
+<span class="ruby-keyword">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">name</span>)
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;no such element #{name}&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@named_elements</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">name</span>)
+ <span class="ruby-ivar">@named_elements</span>[<span class="ruby-identifier">name</span>]
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- 5B-5D-source -->
+
+ </div>
+
+
+
+
+ </div><!-- 5B-5D-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/PromptMethods.html b/Net/SSH/PromptMethods.html
new file mode 100644
index 0000000..468516a
--- /dev/null
+++ b/Net/SSH/PromptMethods.html
@@ -0,0 +1,399 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::PromptMethods</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/prompt_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/prompt.rb">lib/net/ssh/prompt.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+ <!-- Namespace Contents -->
+ <div id="namespace-list-section" class="section">
+ <h3 class="section-header">Namespace</h3>
+ <ul class="link-list">
+
+ <li><span class="type">MODULE</span> <a href="PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><span class="type">MODULE</span> <a href="PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><span class="type">MODULE</span> <a href="PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ </ul>
+ </div>
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::PromptMethods</h1>
+
+ <div id="description" class="description">
+
+<p>A basic prompt module that can be mixed into other objects. If HighLine is
+installed, it will be used to display prompts and read input from the user.
+Otherwise, the termios library will be used. If neither HighLine nor
+termios is installed, a simple prompt that echos text in the clear will be
+used.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/PromptMethods/Clear.html b/Net/SSH/PromptMethods/Clear.html
new file mode 100644
index 0000000..6ad9a1e
--- /dev/null
+++ b/Net/SSH/PromptMethods/Clear.html
@@ -0,0 +1,446 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::PromptMethods::Clear</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/prompt_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/prompt.rb">lib/net/ssh/prompt.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-prompt">#prompt</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::PromptMethods::Clear</h1>
+
+ <div id="description" class="description">
+
+<p>Defines the <a href="Clear.html#method-i-prompt">prompt</a> method to use
+when neither <a href="Highline.html">Highline</a> nor <a
+href="Termios.html">Termios</a> are installed.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="prompt-method" class="method-detail ">
+ <a name="method-i-prompt"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">prompt</span><span
+ class="method-args">(prompt, echo=true)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Displays the <a href="Clear.html#method-i-prompt">prompt</a> to $stdout and
+pulls the response from $stdin. Text is always echoed in the clear,
+regardless of the <tt>echo</tt> setting. The first time a <a
+href="Clear.html#method-i-prompt">prompt</a> is given and <tt>echo</tt> is
+false, a warning will be written to $stderr recommending that either <a
+href="Highline.html">Highline</a> or <a href="Termios.html">Termios</a> be
+installed.</p>
+
+
+
+ <div class="method-source-code" id="prompt-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/prompt.rb, line 64</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">prompt</span>(<span class="ruby-identifier">prompt</span>, <span class="ruby-identifier">echo</span>=<span class="ruby-keyword">true</span>)
+ <span class="ruby-ivar">@seen_warning</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword">false</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">echo</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@seen_warning</span>
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;Text will be echoed in the clear. Please install the HighLine or Termios libraries to suppress echoed text.&quot;</span>
+ <span class="ruby-ivar">@seen_warning</span> = <span class="ruby-keyword">true</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">print</span>(<span class="ruby-identifier">prompt</span>)
+ <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">flush</span>
+ <span class="ruby-identifier">$stdin</span>.<span class="ruby-identifier">gets</span>.<span class="ruby-identifier">chomp</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- prompt-source -->
+
+ </div>
+
+
+
+
+ </div><!-- prompt-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/PromptMethods/Highline.html b/Net/SSH/PromptMethods/Highline.html
new file mode 100644
index 0000000..6cbf27e
--- /dev/null
+++ b/Net/SSH/PromptMethods/Highline.html
@@ -0,0 +1,435 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::PromptMethods::Highline</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/prompt_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/prompt.rb">lib/net/ssh/prompt.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-prompt">#prompt</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::PromptMethods::Highline</h1>
+
+ <div id="description" class="description">
+
+<p>Defines the <a href="Highline.html#method-i-prompt">prompt</a> method to
+use if the <a href="Highline.html">Highline</a> library is installed.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="prompt-method" class="method-detail ">
+ <a name="method-i-prompt"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">prompt</span><span
+ class="method-args">(prompt, echo=true)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Uses Highline#ask to present a <a
+href="Highline.html#method-i-prompt">prompt</a> and accept input. If
+<tt>echo</tt> is <tt>false</tt>, the characters entered by the user will
+not be echoed to the screen.</p>
+
+
+
+ <div class="method-source-code" id="prompt-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/prompt.rb, line 16</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">prompt</span>(<span class="ruby-identifier">prompt</span>, <span class="ruby-identifier">echo</span>=<span class="ruby-keyword">true</span>)
+ <span class="ruby-ivar">@highline</span> <span class="ruby-operator">||=</span> <span class="ruby-operator">::</span><span class="ruby-constant">HighLine</span>.<span class="ruby-identifier">new</span>
+ <span class="ruby-ivar">@highline</span>.<span class="ruby-identifier">ask</span>(<span class="ruby-identifier">prompt</span> <span class="ruby-operator">+</span> <span class="ruby-string">&quot; &quot;</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">q</span><span class="ruby-operator">|</span> <span class="ruby-identifier">q</span>.<span class="ruby-identifier">echo</span> = <span class="ruby-identifier">echo</span> }
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- prompt-source -->
+
+ </div>
+
+
+
+
+ </div><!-- prompt-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/PromptMethods/Termios.html b/Net/SSH/PromptMethods/Termios.html
new file mode 100644
index 0000000..008173e
--- /dev/null
+++ b/Net/SSH/PromptMethods/Termios.html
@@ -0,0 +1,442 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::PromptMethods::Termios</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/prompt_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/prompt.rb">lib/net/ssh/prompt.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-prompt">#prompt</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::PromptMethods::Termios</h1>
+
+ <div id="description" class="description">
+
+<p>Defines the <a href="Termios.html#method-i-prompt">prompt</a> method to use
+if the <a href="Termios.html">Termios</a> library is installed.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="prompt-method" class="method-detail ">
+ <a name="method-i-prompt"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">prompt</span><span
+ class="method-args">(prompt, echo=true)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Displays the <a href="Termios.html#method-i-prompt">prompt</a> to $stdout.
+If <tt>echo</tt> is false, the <a href="Termios.html">Termios</a> library
+will be used to disable keystroke echoing for the duration of this method.</p>
+
+
+
+ <div class="method-source-code" id="prompt-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/prompt.rb, line 27</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">prompt</span>(<span class="ruby-identifier">prompt</span>, <span class="ruby-identifier">echo</span>=<span class="ruby-keyword">true</span>)
+ <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">print</span>(<span class="ruby-identifier">prompt</span>)
+ <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">flush</span>
+
+ <span class="ruby-identifier">set_echo</span>(<span class="ruby-keyword">false</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">echo</span>
+ <span class="ruby-identifier">$stdin</span>.<span class="ruby-identifier">gets</span>.<span class="ruby-identifier">chomp</span>
+<span class="ruby-keyword">ensure</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">echo</span>
+ <span class="ruby-identifier">set_echo</span>(<span class="ruby-keyword">true</span>)
+ <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">puts</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- prompt-source -->
+
+ </div>
+
+
+
+
+ </div><!-- prompt-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Proxy.html b/Net/SSH/Proxy.html
new file mode 100644
index 0000000..09a769a
--- /dev/null
+++ b/Net/SSH/Proxy.html
@@ -0,0 +1,413 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Proxy</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/proxy/command_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/proxy/command.rb">lib/net/ssh/proxy/command.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/proxy/errors_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/proxy/errors.rb">lib/net/ssh/proxy/errors.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/proxy/http_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/proxy/http.rb">lib/net/ssh/proxy/http.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/proxy/socks4_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/proxy/socks4.rb">lib/net/ssh/proxy/socks4.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/proxy/socks5_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/proxy/socks5.rb">lib/net/ssh/proxy/socks5.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+ <!-- Namespace Contents -->
+ <div id="namespace-list-section" class="section">
+ <h3 class="section-header">Namespace</h3>
+ <ul class="link-list">
+
+ <li><span class="type">CLASS</span> <a href="Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ </ul>
+ </div>
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Proxy</h1>
+
+ <div id="description" class="description">
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Proxy/Command.html b/Net/SSH/Proxy/Command.html
new file mode 100644
index 0000000..79b0eae
--- /dev/null
+++ b/Net/SSH/Proxy/Command.html
@@ -0,0 +1,565 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Proxy::Command</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/proxy/command_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/proxy/command.rb">lib/net/ssh/proxy/command.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-open">#open</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Proxy::Command</h1>
+
+ <div id="description" class="description">
+
+<p>An implementation of a command proxy. To use it, instantiate it, then pass
+the instantiated object via the :proxy key to <a
+href="../../SSH.html#method-c-start">Net::SSH.start</a>:</p>
+
+<pre>require 'net/ssh/proxy/command'
+
+proxy = Net::SSH::Proxy::Command.new('ssh relay nc %h %p')
+Net::SSH.start('host', 'user', :proxy =&gt; proxy) do |ssh|
+ ...
+end</pre>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="command_line-attribute-method" class="method-detail">
+ <a name="command_line"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">command_line</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The command line for the session</p>
+
+ </div>
+ </div>
+
+ <div id="command_line_template-attribute-method" class="method-detail">
+ <a name="command_line_template"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">command_line_template</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The command line template</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(command_line_template)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Create a <a href="Command.html#method-c-new">new</a> socket factory that
+tunnels via a command executed with the user’s shell, which is composed
+from the given command template. In the command template, `%h’ will be
+substituted by the host name to connect and `%p’ by the port.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/proxy/command.rb, line 29</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">command_line_template</span>)
+ <span class="ruby-ivar">@command_line_template</span> = <span class="ruby-identifier">command_line_template</span>
+ <span class="ruby-ivar">@command_line</span> = <span class="ruby-keyword">nil</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="open-method" class="method-detail ">
+ <a name="method-i-open"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">open</span><span
+ class="method-args">(host, port)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Return a <a href="Command.html#method-c-new">new</a> socket connected to
+the given host and port via the proxy that was requested when the socket
+factory was instantiated.</p>
+
+
+
+ <div class="method-source-code" id="open-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/proxy/command.rb, line 36</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">port</span>)
+ <span class="ruby-identifier">command_line</span> = <span class="ruby-ivar">@command_line_template</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/%(.)/</span>) {
+ <span class="ruby-keyword">case</span> <span class="ruby-node">$1</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'h'</span>
+ <span class="ruby-identifier">host</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'p'</span>
+ <span class="ruby-identifier">port</span>.<span class="ruby-identifier">to_s</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">'%'</span>
+ <span class="ruby-string">'%'</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;unknown key: #{$1}&quot;</span>
+ <span class="ruby-keyword">end</span>
+ }
+ <span class="ruby-keyword">begin</span>
+ <span class="ruby-identifier">io</span> = <span class="ruby-constant">IO</span>.<span class="ruby-identifier">popen</span>(<span class="ruby-identifier">command_line</span>, <span class="ruby-string">&quot;r+&quot;</span>)
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Compat</span>.<span class="ruby-identifier">io_select</span>([<span class="ruby-identifier">io</span>], <span class="ruby-keyword">nil</span>, [<span class="ruby-identifier">io</span>], <span class="ruby-value">60</span>)
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">any?</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;command failed&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;command timed out&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ConnectError</span>, <span class="ruby-node">&quot;#{e}: #{command_line}&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-ivar">@command_line</span> = <span class="ruby-identifier">command_line</span>
+ <span class="ruby-keyword">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">io</span>
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">send</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">flag</span>)
+ <span class="ruby-identifier">write_nonblock</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">recv</span>(<span class="ruby-identifier">size</span>)
+ <span class="ruby-identifier">read_nonblock</span>(<span class="ruby-identifier">size</span>)
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-identifier">io</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- open-source -->
+
+ </div>
+
+
+
+
+ </div><!-- open-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Proxy/ConnectError.html b/Net/SSH/Proxy/ConnectError.html
new file mode 100644
index 0000000..3e8f195
--- /dev/null
+++ b/Net/SSH/Proxy/ConnectError.html
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Proxy::ConnectError</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/proxy/errors_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/proxy/errors.rb">lib/net/ssh/proxy/errors.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Error.html">Net::SSH::Proxy::Error</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Proxy::ConnectError</h1>
+
+ <div id="description" class="description">
+
+<p>Used for reporting proxy connection errors.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Proxy/Error.html b/Net/SSH/Proxy/Error.html
new file mode 100644
index 0000000..5686aaf
--- /dev/null
+++ b/Net/SSH/Proxy/Error.html
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Proxy::Error</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/proxy/errors_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/proxy/errors.rb">lib/net/ssh/proxy/errors.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="../Exception.html">Net::SSH::Exception</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Proxy::Error</h1>
+
+ <div id="description" class="description">
+
+<p>A general exception class for all <a href="../Proxy.html">Proxy</a> errors.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Proxy/HTTP.html b/Net/SSH/Proxy/HTTP.html
new file mode 100644
index 0000000..22d1ad7
--- /dev/null
+++ b/Net/SSH/Proxy/HTTP.html
@@ -0,0 +1,578 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Proxy::HTTP</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/proxy/http_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/proxy/http.rb">lib/net/ssh/proxy/http.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-open">#open</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Proxy::HTTP</h1>
+
+ <div id="description" class="description">
+
+<p>An implementation of an <a href="HTTP.html">HTTP</a> proxy. To use it,
+instantiate it, then pass the instantiated object via the :proxy key to <a
+href="../../SSH.html#method-c-start">Net::SSH.start</a>:</p>
+
+<pre>require 'net/ssh/proxy/http'
+
+proxy = Net::SSH::Proxy::HTTP.new('proxy.host', proxy_port)
+Net::SSH.start('host', 'user', :proxy =&gt; proxy) do |ssh|
+ ...
+end</pre>
+
+<p>If the proxy requires authentication, you can pass :user and :password to
+the proxy’s constructor:</p>
+
+<pre>proxy = Net::SSH::Proxy::HTTP.new('proxy.host', proxy_port,
+ :user =&gt; &quot;user&quot;, :password =&gt; &quot;password&quot;)</pre>
+
+<p>Note that <a href="HTTP.html">HTTP</a> digest authentication is not
+supported; Basic only at this point.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="options-attribute-method" class="method-detail">
+ <a name="options"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">options</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The map of additional <a href="HTTP.html#attribute-i-options">options</a>
+that were given to the object at initialization.</p>
+
+ </div>
+ </div>
+
+ <div id="proxy_host-attribute-method" class="method-detail">
+ <a name="proxy_host"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">proxy_host</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The hostname or IP address of the <a href="HTTP.html">HTTP</a> proxy.</p>
+
+ </div>
+ </div>
+
+ <div id="proxy_port-attribute-method" class="method-detail">
+ <a name="proxy_port"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">proxy_port</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The port number of the proxy.</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(proxy_host, proxy_port=80, options={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Create a <a href="HTTP.html#method-c-new">new</a> socket factory that
+tunnels via the given host and port. The <tt>options</tt> parameter is a
+hash of additional settings that can be used to tweak this proxy
+connection. Specifically, the following <a
+href="HTTP.html#attribute-i-options">options</a> are supported:</p>
+<ul><li>
+<p>:user =&gt; the user name to use when authenticating to the proxy</p>
+</li><li>
+<p>:password =&gt; the password to use when authenticating</p>
+</li></ul>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/proxy/http.rb, line 43</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">proxy_host</span>, <span class="ruby-identifier">proxy_port</span>=<span class="ruby-value">80</span>, <span class="ruby-identifier">options</span>={})
+ <span class="ruby-ivar">@proxy_host</span> = <span class="ruby-identifier">proxy_host</span>
+ <span class="ruby-ivar">@proxy_port</span> = <span class="ruby-identifier">proxy_port</span>
+ <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="open-method" class="method-detail ">
+ <a name="method-i-open"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">open</span><span
+ class="method-args">(host, port)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Return a <a href="HTTP.html#method-c-new">new</a> socket connected to the
+given host and port via the proxy that was requested when the socket
+factory was instantiated.</p>
+
+
+
+ <div class="method-source-code" id="open-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/proxy/http.rb, line 51</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">port</span>)
+ <span class="ruby-identifier">socket</span> = <span class="ruby-constant">TCPSocket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">proxy_host</span>, <span class="ruby-identifier">proxy_port</span>)
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">write</span> <span class="ruby-node">&quot;CONNECT #{host}:#{port} HTTP/1.0\r\n&quot;</span>
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:user</span>]
+ <span class="ruby-identifier">credentials</span> = [<span class="ruby-node">&quot;#{options[:user]}:#{options[:password]}&quot;</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;m*&quot;</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/\s/</span>, <span class="ruby-string">&quot;&quot;</span>)
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">write</span> <span class="ruby-node">&quot;Proxy-Authorization: Basic #{credentials}\r\n&quot;</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">write</span> <span class="ruby-string">&quot;\r\n&quot;</span>
+
+ <span class="ruby-identifier">resp</span> = <span class="ruby-identifier">parse_response</span>(<span class="ruby-identifier">socket</span>)
+
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">socket</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">resp</span>[<span class="ruby-value">:code</span>] <span class="ruby-operator">==</span> <span class="ruby-value">200</span>
+
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">close</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ConnectError</span>, <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">inspect</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- open-source -->
+
+ </div>
+
+
+
+
+ </div><!-- open-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Proxy/SOCKS4.html b/Net/SSH/Proxy/SOCKS4.html
new file mode 100644
index 0000000..18eda27
--- /dev/null
+++ b/Net/SSH/Proxy/SOCKS4.html
@@ -0,0 +1,582 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Proxy::SOCKS4</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/proxy/socks4_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/proxy/socks4.rb">lib/net/ssh/proxy/socks4.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-open">#open</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Proxy::SOCKS4</h1>
+
+ <div id="description" class="description">
+
+<p>An implementation of a <a href="SOCKS4.html">SOCKS4</a> proxy. To use it,
+instantiate it, then pass the instantiated object via the :proxy key to <a
+href="../../SSH.html#method-c-start">Net::SSH.start</a>:</p>
+
+<pre>require 'net/ssh/proxy/socks4'
+
+proxy = Net::SSH::Proxy::SOCKS4.new('proxy.host', proxy_port, :user =&gt; 'user')
+Net::SSH.start('host', 'user', :proxy =&gt; proxy) do |ssh|
+ ...
+end</pre>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="CONNECT">CONNECT</a></dt>
+
+ <dd class="description"><p>The packet type for connection requests</p></dd>
+
+
+ <dt><a name="GRANTED">GRANTED</a></dt>
+
+ <dd class="description"><p>The status code for a successful connection</p></dd>
+
+
+ <dt><a name="VERSION">VERSION</a></dt>
+
+ <dd class="description"><p>The SOCKS protocol version used by this class</p></dd>
+
+
+ </dl>
+ </div>
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="options-attribute-method" class="method-detail">
+ <a name="options"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">options</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The additional <a href="SOCKS4.html#attribute-i-options">options</a> that
+were given to the proxy’s constructor.</p>
+
+ </div>
+ </div>
+
+ <div id="proxy_host-attribute-method" class="method-detail">
+ <a name="proxy_host"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">proxy_host</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The proxy’s host name or IP address, as given to the constructor.</p>
+
+ </div>
+ </div>
+
+ <div id="proxy_port-attribute-method" class="method-detail">
+ <a name="proxy_port"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">proxy_port</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The proxy’s port number.</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(proxy_host, proxy_port=1080, options={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Create a <a href="SOCKS4.html#method-c-new">new</a> proxy connection to the
+given proxy host and port. Optionally, a :user key may be given to identify
+the username with which to authenticate.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/proxy/socks4.rb, line 42</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">proxy_host</span>, <span class="ruby-identifier">proxy_port</span>=<span class="ruby-value">1080</span>, <span class="ruby-identifier">options</span>={})
+ <span class="ruby-ivar">@proxy_host</span> = <span class="ruby-identifier">proxy_host</span>
+ <span class="ruby-ivar">@proxy_port</span> = <span class="ruby-identifier">proxy_port</span>
+ <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="open-method" class="method-detail ">
+ <a name="method-i-open"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">open</span><span
+ class="method-args">(host, port)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Return a <a href="SOCKS4.html#method-c-new">new</a> socket connected to the
+given host and port via the proxy that was requested when the socket
+factory was instantiated.</p>
+
+
+
+ <div class="method-source-code" id="open-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/proxy/socks4.rb, line 50</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">port</span>)
+ <span class="ruby-identifier">socket</span> = <span class="ruby-constant">TCPSocket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">proxy_host</span>, <span class="ruby-identifier">proxy_port</span>)
+ <span class="ruby-identifier">ip_addr</span> = <span class="ruby-constant">IPAddr</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Resolv</span>.<span class="ruby-identifier">getaddress</span>(<span class="ruby-identifier">host</span>))
+
+ <span class="ruby-identifier">packet</span> = [<span class="ruby-constant">VERSION</span>, <span class="ruby-constant">CONNECT</span>, <span class="ruby-identifier">port</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-identifier">ip_addr</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-identifier">options</span>[<span class="ruby-value">:user</span>]].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;CCnNZ*&quot;</span>)
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">send</span> <span class="ruby-identifier">packet</span>, <span class="ruby-value">0</span>
+
+ <span class="ruby-identifier">version</span>, <span class="ruby-identifier">status</span>, <span class="ruby-identifier">port</span>, <span class="ruby-identifier">ip</span> = <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">recv</span>(<span class="ruby-value">8</span>).<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&quot;CCnN&quot;</span>)
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">status</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">GRANTED</span>
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">close</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ConnectError</span>, <span class="ruby-node">&quot;error connecting to proxy (#{status})&quot;</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">socket</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- open-source -->
+
+ </div>
+
+
+
+
+ </div><!-- open-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Proxy/SOCKS5.html b/Net/SSH/Proxy/SOCKS5.html
new file mode 100644
index 0000000..8393637
--- /dev/null
+++ b/Net/SSH/Proxy/SOCKS5.html
@@ -0,0 +1,652 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Proxy::SOCKS5</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/proxy/socks5_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/proxy/socks5.rb">lib/net/ssh/proxy/socks5.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-open">#open</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Proxy::SOCKS5</h1>
+
+ <div id="description" class="description">
+
+<p>An implementation of a <a href="SOCKS5.html">SOCKS5</a> proxy. To use it,
+instantiate it, then pass the instantiated object via the :proxy key to <a
+href="../../SSH.html#method-c-start">Net::SSH.start</a>:</p>
+
+<pre>require 'net/ssh/proxy/socks5'
+
+proxy = Net::SSH::Proxy::SOCKS5.new('proxy.host', proxy_port,
+ :user =&gt; 'user', :password =&gt; &quot;password&quot;)
+Net::SSH.start('host', 'user', :proxy =&gt; proxy) do |ssh|
+ ...
+end</pre>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="ATYP_DOMAIN">ATYP_DOMAIN</a></dt>
+
+ <dd class="description"><p>The SOCKS address type for connections via domain name.</p></dd>
+
+
+ <dt><a name="ATYP_IPV4">ATYP_IPV4</a></dt>
+
+ <dd class="description"><p>The SOCKS address type for connections via IP address.</p></dd>
+
+
+ <dt><a name="CMD_CONNECT">CMD_CONNECT</a></dt>
+
+ <dd class="description"><p>The SOCKS packet type for requesting a proxy connection.</p></dd>
+
+
+ <dt><a name="METHOD_NONE">METHOD_NONE</a></dt>
+
+ <dd class="description"><p>The SOCKS authentication type for when there are no supported
+authentication methods.</p></dd>
+
+
+ <dt><a name="METHOD_NO_AUTH">METHOD_NO_AUTH</a></dt>
+
+ <dd class="description"><p>The SOCKS authentication type for requests without authentication</p></dd>
+
+
+ <dt><a name="METHOD_PASSWD">METHOD_PASSWD</a></dt>
+
+ <dd class="description"><p>The SOCKS authentication type for requests via username/password</p></dd>
+
+
+ <dt><a name="SUCCESS">SUCCESS</a></dt>
+
+ <dd class="description"><p>The SOCKS response code for a successful operation.</p></dd>
+
+
+ <dt><a name="VERSION">VERSION</a></dt>
+
+ <dd class="description"><p>The SOCKS protocol version used by this class</p></dd>
+
+
+ </dl>
+ </div>
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="options-attribute-method" class="method-detail">
+ <a name="options"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">options</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The map of <a href="SOCKS5.html#attribute-i-options">options</a> given at
+initialization</p>
+
+ </div>
+ </div>
+
+ <div id="proxy_host-attribute-method" class="method-detail">
+ <a name="proxy_host"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">proxy_host</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The proxy’s host name or IP address</p>
+
+ </div>
+ </div>
+
+ <div id="proxy_port-attribute-method" class="method-detail">
+ <a name="proxy_port"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">proxy_port</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The proxy’s port number</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(proxy_host, proxy_port=1080, options={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Create a <a href="SOCKS5.html#method-c-new">new</a> proxy connection to the
+given proxy host and port. Optionally, :user and :password <a
+href="SOCKS5.html#attribute-i-options">options</a> may be given to identify
+the username and password with which to authenticate.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/proxy/socks5.rb, line 57</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">proxy_host</span>, <span class="ruby-identifier">proxy_port</span>=<span class="ruby-value">1080</span>, <span class="ruby-identifier">options</span>={})
+ <span class="ruby-ivar">@proxy_host</span> = <span class="ruby-identifier">proxy_host</span>
+ <span class="ruby-ivar">@proxy_port</span> = <span class="ruby-identifier">proxy_port</span>
+ <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="open-method" class="method-detail ">
+ <a name="method-i-open"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">open</span><span
+ class="method-args">(host, port)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Return a <a href="SOCKS5.html#method-c-new">new</a> socket connected to the
+given host and port via the proxy that was requested when the socket
+factory was instantiated.</p>
+
+
+
+ <div class="method-source-code" id="open-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/proxy/socks5.rb, line 65</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">port</span>)
+ <span class="ruby-identifier">socket</span> = <span class="ruby-constant">TCPSocket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">proxy_host</span>, <span class="ruby-identifier">proxy_port</span>)
+
+ <span class="ruby-identifier">methods</span> = [<span class="ruby-constant">METHOD_NO_AUTH</span>]
+ <span class="ruby-identifier">methods</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">METHOD_PASSWD</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:user</span>]
+
+ <span class="ruby-identifier">packet</span> = [<span class="ruby-constant">VERSION</span>, <span class="ruby-identifier">methods</span>.<span class="ruby-identifier">size</span>, *<span class="ruby-identifier">methods</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;C*&quot;</span>)
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">send</span> <span class="ruby-identifier">packet</span>, <span class="ruby-value">0</span>
+
+ <span class="ruby-identifier">version</span>, <span class="ruby-identifier">method</span> = <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">recv</span>(<span class="ruby-value">2</span>).<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&quot;CC&quot;</span>)
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">version</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">VERSION</span>
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">close</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Proxy</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span>, <span class="ruby-node">&quot;invalid SOCKS version (#{version})&quot;</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">method</span> <span class="ruby-operator">==</span> <span class="ruby-constant">METHOD_NONE</span>
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">close</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Proxy</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span>, <span class="ruby-string">&quot;no supported authorization methods&quot;</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">negotiate_password</span>(<span class="ruby-identifier">socket</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">method</span> <span class="ruby-operator">==</span> <span class="ruby-constant">METHOD_PASSWD</span>
+
+ <span class="ruby-identifier">packet</span> = [<span class="ruby-constant">VERSION</span>, <span class="ruby-constant">CMD_CONNECT</span>, <span class="ruby-value">0</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;C*&quot;</span>)
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">host</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/</span>
+ <span class="ruby-identifier">packet</span> <span class="ruby-operator">&lt;&lt;</span> [<span class="ruby-constant">ATYP_IPV4</span>, <span class="ruby-node">$1</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-node">$2</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-node">$3</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-node">$4</span>.<span class="ruby-identifier">to_i</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;C*&quot;</span>)
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">packet</span> <span class="ruby-operator">&lt;&lt;</span> [<span class="ruby-constant">ATYP_DOMAIN</span>, <span class="ruby-identifier">host</span>.<span class="ruby-identifier">length</span>, <span class="ruby-identifier">host</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;CCA*&quot;</span>)
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">packet</span> <span class="ruby-operator">&lt;&lt;</span> [<span class="ruby-identifier">port</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;n&quot;</span>)
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">send</span> <span class="ruby-identifier">packet</span>, <span class="ruby-value">0</span>
+
+ <span class="ruby-identifier">version</span>, <span class="ruby-identifier">reply</span>, = <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">recv</span>(<span class="ruby-value">2</span>).<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&quot;C*&quot;</span>)
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">recv</span>(<span class="ruby-value">1</span>)
+ <span class="ruby-identifier">address_type</span> = <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">recv</span>(<span class="ruby-value">1</span>).<span class="ruby-identifier">getbyte</span>(<span class="ruby-value">0</span>)
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">address_type</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-value">1</span>
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">recv</span>(<span class="ruby-value">4</span>) <span class="ruby-comment"># get four bytes for IPv4 address</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-value">3</span>
+ <span class="ruby-identifier">len</span> = <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">recv</span>(<span class="ruby-value">1</span>).<span class="ruby-identifier">getbyte</span>(<span class="ruby-value">0</span>)
+ <span class="ruby-identifier">hostname</span> = <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">recv</span>(<span class="ruby-identifier">len</span>)
+ <span class="ruby-keyword">when</span> <span class="ruby-value">4</span>
+ <span class="ruby-identifier">ipv6addr</span> <span class="ruby-identifier">hostname</span> = <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">recv</span>(<span class="ruby-value">16</span>)
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">close</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ConnectionError</span>, <span class="ruby-string">&quot;Illegal response type&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-identifier">portnum</span> = <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">recv</span>(<span class="ruby-value">2</span>)
+
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">reply</span> <span class="ruby-operator">==</span> <span class="ruby-constant">SUCCESS</span>
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">close</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ConnectError</span>, <span class="ruby-node">&quot;#{reply}&quot;</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">socket</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- open-source -->
+
+ </div>
+
+
+
+
+ </div><!-- open-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Proxy/UnauthorizedError.html b/Net/SSH/Proxy/UnauthorizedError.html
new file mode 100644
index 0000000..ed4711e
--- /dev/null
+++ b/Net/SSH/Proxy/UnauthorizedError.html
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Proxy::UnauthorizedError</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/proxy/errors_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/proxy/errors.rb">lib/net/ssh/proxy/errors.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Error.html">Net::SSH::Proxy::Error</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Proxy::UnauthorizedError</h1>
+
+ <div id="description" class="description">
+
+<p>Used when the server doesn’t recognize the user’s credentials.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Service.html b/Net/SSH/Service.html
new file mode 100644
index 0000000..9c54a60
--- /dev/null
+++ b/Net/SSH/Service.html
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Service</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/service/forward_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/service/forward.rb">lib/net/ssh/service/forward.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+ <!-- Namespace Contents -->
+ <div id="namespace-list-section" class="section">
+ <h3 class="section-header">Namespace</h3>
+ <ul class="link-list">
+
+ <li><span class="type">CLASS</span> <a href="Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ </ul>
+ </div>
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Service</h1>
+
+ <div id="description" class="description">
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Service/Forward.html b/Net/SSH/Service/Forward.html
new file mode 100644
index 0000000..a42dac4
--- /dev/null
+++ b/Net/SSH/Service/Forward.html
@@ -0,0 +1,931 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Service::Forward</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/service/forward_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/service/forward.rb">lib/net/ssh/service/forward.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-active_locals">#active_locals</a></li>
+
+ <li><a href="#method-i-active_remotes">#active_remotes</a></li>
+
+ <li><a href="#method-i-agent">#agent</a></li>
+
+ <li><a href="#method-i-cancel_local">#cancel_local</a></li>
+
+ <li><a href="#method-i-cancel_remote">#cancel_remote</a></li>
+
+ <li><a href="#method-i-local">#local</a></li>
+
+ <li><a href="#method-i-remote">#remote</a></li>
+
+ <li><a href="#method-i-remote_to">#remote_to</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="../Loggable.html">Net::SSH::Loggable</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Service::Forward</h1>
+
+ <div id="description" class="description">
+
+<p>This class implements various port forwarding services for use by <a
+href="../../SSH.html">Net::SSH</a> clients. The <a
+href="Forward.html">Forward</a> class should never need to be instantiated
+directly; instead, it should be accessed via the singleton instance
+returned by <a
+href="../Connection/Session.html#method-i-forward">Connection::Session#forward</a>:</p>
+
+<pre>ssh.forward.local(1234, &quot;www.capify.org&quot;, 80)</pre>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="session-attribute-method" class="method-detail">
+ <a name="session"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">session</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The underlying connection service instance that the port-forwarding
+services employ.</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(session)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Instantiates a <a href="Forward.html#method-c-new">new</a> <a
+href="Forward.html">Forward</a> service instance atop the given connection
+service <a href="Forward.html#attribute-i-session">session</a>. This will
+register <a href="Forward.html#method-c-new">new</a> channel open handlers
+to handle the specialized channels that the <a
+href="../../SSH.html">SSH</a> port forwarding protocols employ.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/service/forward.rb, line 24</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">session</span>)
+ <span class="ruby-ivar">@session</span> = <span class="ruby-identifier">session</span>
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">logger</span> = <span class="ruby-identifier">session</span>.<span class="ruby-identifier">logger</span>
+ <span class="ruby-ivar">@remote_forwarded_ports</span> = {}
+ <span class="ruby-ivar">@local_forwarded_ports</span> = {}
+ <span class="ruby-ivar">@agent_forwarded</span> = <span class="ruby-keyword">false</span>
+
+ <span class="ruby-identifier">session</span>.<span class="ruby-identifier">on_open_channel</span>(<span class="ruby-string">'forwarded-tcpip'</span>, &amp;<span class="ruby-identifier">method</span>(<span class="ruby-value">:forwarded_tcpip</span>))
+ <span class="ruby-identifier">session</span>.<span class="ruby-identifier">on_open_channel</span>(<span class="ruby-string">'auth-agent'</span>, &amp;<span class="ruby-identifier">method</span>(<span class="ruby-value">:auth_agent_channel</span>))
+ <span class="ruby-identifier">session</span>.<span class="ruby-identifier">on_open_channel</span>(<span class="ruby-string">'auth-agent@openssh.com'</span>, &amp;<span class="ruby-identifier">method</span>(<span class="ruby-value">:auth_agent_channel</span>))
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="active_locals-method" class="method-detail ">
+ <a name="method-i-active_locals"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">active_locals</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns a list of all active locally forwarded ports. The returned value is
+an array of arrays, where each element is a two-element tuple consisting of
+the <a href="Forward.html#method-i-local">local</a> port and bind address
+corresponding to the forwarding port.</p>
+
+
+
+ <div class="method-source-code" id="active_locals-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/service/forward.rb, line 110</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">active_locals</span>
+ <span class="ruby-ivar">@local_forwarded_ports</span>.<span class="ruby-identifier">keys</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- active_locals-source -->
+
+ </div>
+
+
+
+
+ </div><!-- active_locals-method -->
+
+
+ <div id="active_remotes-method" class="method-detail ">
+ <a name="method-i-active_remotes"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">active_remotes</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns all active forwarded <a
+href="Forward.html#method-i-remote">remote</a> ports. The returned value is
+an array of two-element tuples, where the first element is the port on the
+<a href="Forward.html#method-i-remote">remote</a> host and the second is
+the bind address.</p>
+
+
+
+ <div class="method-source-code" id="active_remotes-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/service/forward.rb, line 168</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">active_remotes</span>
+ <span class="ruby-ivar">@remote_forwarded_ports</span>.<span class="ruby-identifier">keys</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- active_remotes-source -->
+
+ </div>
+
+
+
+
+ </div><!-- active_remotes-method -->
+
+
+ <div id="agent-method" class="method-detail ">
+ <a name="method-i-agent"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">agent</span><span
+ class="method-args">(channel)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Enables <a href="../../SSH.html">SSH</a> <a
+href="Forward.html#method-i-agent">agent</a> forwarding on the given
+channel. The forwarded <a href="Forward.html#method-i-agent">agent</a> will
+remain active even after the channel closes–the channel is only used as the
+transport for enabling the forwarded connection. You should never need to
+call this directly–it is called automatically the first time a <a
+href="Forward.html#attribute-i-session">session</a> channel is opened, when
+the connection was created with :forward_agent set to true:</p>
+
+<pre>Net::SSH.start(&quot;remote.host&quot;, &quot;me&quot;, :forwrd_agent =&gt; true) do |ssh|
+ ssh.open_channel do |ch|
+ # agent will be automatically forwarded by this point
+ end
+ ssh.loop
+end</pre>
+
+
+
+ <div class="method-source-code" id="agent-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/service/forward.rb, line 185</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">agent</span>(<span class="ruby-identifier">channel</span>)
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@agent_forwarded</span>
+ <span class="ruby-ivar">@agent_forwarded</span> = <span class="ruby-keyword">true</span>
+
+ <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">send_channel_request</span>(<span class="ruby-string">&quot;auth-agent-req@openssh.com&quot;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">achannel</span>, <span class="ruby-identifier">success</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-string">&quot;authentication agent forwarding is active&quot;</span> }
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">achannel</span>.<span class="ruby-identifier">send_channel_request</span>(<span class="ruby-string">&quot;auth-agent-req&quot;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a2channel</span>, <span class="ruby-identifier">success2</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success2</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-string">&quot;authentication agent forwarding is active&quot;</span> }
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">error</span> { <span class="ruby-string">&quot;could not establish forwarding of authentication agent&quot;</span> }
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- agent-source -->
+
+ </div>
+
+
+
+
+ </div><!-- agent-method -->
+
+
+ <div id="cancel_local-method" class="method-detail ">
+ <a name="method-i-cancel_local"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">cancel_local</span><span
+ class="method-args">(port, bind_address="127.0.0.1")</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Terminates an active <a href="Forward.html#method-i-local">local</a>
+forwarded port. If no such forwarded port exists, this will raise an
+exception. Otherwise, the forwarded connection is terminated.</p>
+
+<pre>ssh.forward.cancel_local(1234)
+ssh.forward.cancel_local(1234, &quot;0.0.0.0&quot;)</pre>
+
+
+
+ <div class="method-source-code" id="cancel_local-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/service/forward.rb, line 99</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">cancel_local</span>(<span class="ruby-identifier">port</span>, <span class="ruby-identifier">bind_address</span>=<span class="ruby-string">&quot;127.0.0.1&quot;</span>)
+ <span class="ruby-identifier">socket</span> = <span class="ruby-ivar">@local_forwarded_ports</span>.<span class="ruby-identifier">delete</span>([<span class="ruby-identifier">port</span>, <span class="ruby-identifier">bind_address</span>])
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">shutdown</span> <span class="ruby-keyword">rescue</span> <span class="ruby-keyword">nil</span>
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword">rescue</span> <span class="ruby-keyword">nil</span>
+ <span class="ruby-identifier">session</span>.<span class="ruby-identifier">stop_listening_to</span>(<span class="ruby-identifier">socket</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- cancel_local-source -->
+
+ </div>
+
+
+
+
+ </div><!-- cancel_local-method -->
+
+
+ <div id="cancel_remote-method" class="method-detail ">
+ <a name="method-i-cancel_remote"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">cancel_remote</span><span
+ class="method-args">(port, host="127.0.0.1")</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Requests that a <a href="Forward.html#method-i-remote">remote</a> forwarded
+port be cancelled. The <a href="Forward.html#method-i-remote">remote</a>
+forwarded port on the <a href="Forward.html#method-i-remote">remote</a>
+host, bound to the given address on the <a
+href="Forward.html#method-i-remote">remote</a> host, will be terminated,
+but not immediately. This method returns immediately after queueing the
+request to be sent to the server. If for some reason the port cannot be
+cancelled, an exception will be raised (asynchronously).</p>
+
+<p>If you want to know when the connection has been cancelled, it will no
+longer be present in the #<a
+href="Forward.html#method-i-active_remotes">active_remotes</a> list. If you
+want to block until the port is no longer active, you could do something
+like this:</p>
+
+<pre>ssh.forward.cancel_remote(1234, &quot;0.0.0.0&quot;)
+ssh.loop { ssh.forward.active_remotes.include?([1234, &quot;0.0.0.0&quot;]) }</pre>
+
+
+
+ <div class="method-source-code" id="cancel_remote-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/service/forward.rb, line 155</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">cancel_remote</span>(<span class="ruby-identifier">port</span>, <span class="ruby-identifier">host</span>=<span class="ruby-string">&quot;127.0.0.1&quot;</span>)
+ <span class="ruby-identifier">session</span>.<span class="ruby-identifier">send_global_request</span>(<span class="ruby-string">&quot;cancel-tcpip-forward&quot;</span>, <span class="ruby-value">:string</span>, <span class="ruby-identifier">host</span>, <span class="ruby-value">:long</span>, <span class="ruby-identifier">port</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">success</span>, <span class="ruby-identifier">response</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
+ <span class="ruby-ivar">@remote_forwarded_ports</span>.<span class="ruby-identifier">delete</span>([<span class="ruby-identifier">port</span>, <span class="ruby-identifier">host</span>])
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-node">&quot;could not cancel remote forward request on #{host}:#{port}&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- cancel_remote-source -->
+
+ </div>
+
+
+
+
+ </div><!-- cancel_remote-method -->
+
+
+ <div id="local-method" class="method-detail ">
+ <a name="method-i-local"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">local</span><span
+ class="method-args">(*args)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Starts listening for connections on the <a
+href="Forward.html#method-i-local">local</a> host, and forwards them to the
+specified <a href="Forward.html#method-i-remote">remote</a> host/port via
+the <a href="../../SSH.html">SSH</a> connection. This method accepts either
+three or four arguments. When four arguments are given, they are:</p>
+<ul><li>
+<p>the <a href="Forward.html#method-i-local">local</a> address to bind to</p>
+</li><li>
+<p>the <a href="Forward.html#method-i-local">local</a> port to listen on</p>
+</li><li>
+<p>the <a href="Forward.html#method-i-remote">remote</a> host to forward
+connections to</p>
+</li><li>
+<p>the port on the <a href="Forward.html#method-i-remote">remote</a> host to
+connect to</p>
+</li></ul>
+
+<p>If three arguments are given, it is as if the <a
+href="Forward.html#method-i-local">local</a> bind address is “127.0.0.1”,
+and the rest are applied as above.</p>
+
+<pre>ssh.forward.local(1234, &quot;www.capify.org&quot;, 80)
+ssh.forward.local(&quot;0.0.0.0&quot;, 1234, &quot;www.capify.org&quot;, 80)</pre>
+
+
+
+ <div class="method-source-code" id="local-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/service/forward.rb, line 51</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">local</span>(*<span class="ruby-identifier">args</span>)
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">3</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">4</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;expected 3 or 4 parameters, got #{args.length}&quot;</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">local_port_type</span> = <span class="ruby-value">:long</span>
+
+ <span class="ruby-identifier">socket</span> = <span class="ruby-keyword">begin</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">UNIXServer</span>
+ <span class="ruby-identifier">local_port_type</span> = <span class="ruby-value">:string</span>
+ <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">bind_address</span> = <span class="ruby-string">&quot;127.0.0.1&quot;</span>
+ <span class="ruby-identifier">bind_address</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">first</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/\D/</span>
+ <span class="ruby-identifier">local_port</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span>.<span class="ruby-identifier">to_i</span>
+ <span class="ruby-identifier">local_port_type</span> = <span class="ruby-value">:long</span>
+ <span class="ruby-constant">TCPServer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">bind_address</span>, <span class="ruby-identifier">local_port</span>)
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">remote_host</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span>
+ <span class="ruby-identifier">remote_port</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span>.<span class="ruby-identifier">to_i</span>
+
+ <span class="ruby-ivar">@local_forwarded_ports</span>[[<span class="ruby-identifier">local_port</span>, <span class="ruby-identifier">bind_address</span>]] = <span class="ruby-identifier">socket</span>
+
+ <span class="ruby-identifier">session</span>.<span class="ruby-identifier">listen_to</span>(<span class="ruby-identifier">socket</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">server</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">client</span> = <span class="ruby-identifier">server</span>.<span class="ruby-identifier">accept</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;received connection on #{socket}&quot;</span> }
+
+ <span class="ruby-identifier">channel</span> = <span class="ruby-identifier">session</span>.<span class="ruby-identifier">open_channel</span>(<span class="ruby-string">&quot;direct-tcpip&quot;</span>, <span class="ruby-value">:string</span>, <span class="ruby-identifier">remote_host</span>, <span class="ruby-value">:long</span>, <span class="ruby-identifier">remote_port</span>, <span class="ruby-value">:string</span>, <span class="ruby-identifier">bind_address</span>, <span class="ruby-identifier">local_port_type</span>, <span class="ruby-identifier">local_port</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">achannel</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">achannel</span>.<span class="ruby-identifier">info</span> { <span class="ruby-string">&quot;direct channel established&quot;</span> }
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">prepare_client</span>(<span class="ruby-identifier">client</span>, <span class="ruby-identifier">channel</span>, <span class="ruby-value">:local</span>)
+
+ <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">on_open_failed</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span>, <span class="ruby-identifier">code</span>, <span class="ruby-identifier">description</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">error</span> { <span class="ruby-node">&quot;could not establish direct channel: #{description} (#{code})&quot;</span> }
+ <span class="ruby-identifier">channel</span>[<span class="ruby-value">:socket</span>].<span class="ruby-identifier">close</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- local-source -->
+
+ </div>
+
+
+
+
+ </div><!-- local-method -->
+
+
+ <div id="remote-method" class="method-detail ">
+ <a name="method-i-remote"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">remote</span><span
+ class="method-args">(port, host, remote_port, remote_host="127.0.0.1")</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Requests that all connections on the given <a
+href="Forward.html#method-i-remote">remote</a>-port be forwarded via the <a
+href="Forward.html#method-i-local">local</a> host to the given port/host.
+The last argument describes the bind address on the <a
+href="Forward.html#method-i-remote">remote</a> host, and defaults to
+127.0.0.1.</p>
+
+<p>This method will return immediately, but the port will not actually be
+forwarded immediately. If the <a
+href="Forward.html#method-i-remote">remote</a> server is not able to begin
+the listener for this request, an exception will be raised asynchronously.</p>
+
+<p>If you want to know when the connection is active, it will show up in the
+#<a href="Forward.html#method-i-active_remotes">active_remotes</a> list. If
+you want to block until the port is active, you could do something like
+this:</p>
+
+<pre>ssh.forward.remote(80, &quot;www.google.com&quot;, 1234, &quot;0.0.0.0&quot;)
+ssh.loop { !ssh.forward.active_remotes.include?([1234, &quot;0.0.0.0&quot;]) }</pre>
+
+
+
+ <div class="method-source-code" id="remote-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/service/forward.rb, line 128</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">remote</span>(<span class="ruby-identifier">port</span>, <span class="ruby-identifier">host</span>, <span class="ruby-identifier">remote_port</span>, <span class="ruby-identifier">remote_host</span>=<span class="ruby-string">&quot;127.0.0.1&quot;</span>)
+ <span class="ruby-identifier">session</span>.<span class="ruby-identifier">send_global_request</span>(<span class="ruby-string">&quot;tcpip-forward&quot;</span>, <span class="ruby-value">:string</span>, <span class="ruby-identifier">remote_host</span>, <span class="ruby-value">:long</span>, <span class="ruby-identifier">remote_port</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">success</span>, <span class="ruby-identifier">response</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;remote forward from remote #{remote_host}:#{remote_port} to #{host}:#{port} established&quot;</span> }
+ <span class="ruby-ivar">@remote_forwarded_ports</span>[[<span class="ruby-identifier">remote_port</span>, <span class="ruby-identifier">remote_host</span>]] = <span class="ruby-constant">Remote</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">port</span>)
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">error</span> { <span class="ruby-string">&quot;remote forwarding request failed&quot;</span> }
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-string">&quot;remote forwarding request failed&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- remote-source -->
+
+ </div>
+
+
+ <div class="aliases">
+ Also aliased as: <a href="Forward.html#method-i-remote_to">remote_to</a>
+ </div>
+
+
+
+ </div><!-- remote-method -->
+
+
+ <div id="remote_to-method" class="method-detail method-alias">
+ <a name="method-i-remote_to"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">remote_to</span><span
+ class="method-args">(port, host, remote_port, remote_host="127.0.0.1")</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>an alias, for token backwards compatibility with the 1.x API</p>
+
+
+
+ </div>
+
+
+
+
+ <div class="aliases">
+ Alias for: <a href="Forward.html#method-i-remote">remote</a>
+ </div>
+
+ </div><!-- remote_to-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Test.html b/Net/SSH/Test.html
new file mode 100644
index 0000000..b16c8f2
--- /dev/null
+++ b/Net/SSH/Test.html
@@ -0,0 +1,685 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Test</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/test/channel_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/channel.rb">lib/net/ssh/test/channel.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/test/extensions_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/extensions.rb">lib/net/ssh/test/extensions.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/test/kex_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/kex.rb">lib/net/ssh/test/kex.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/test/local_packet_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/local_packet.rb">lib/net/ssh/test/local_packet.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/test/packet_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/packet.rb">lib/net/ssh/test/packet.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/test/remote_packet_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/remote_packet.rb">lib/net/ssh/test/remote_packet.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/test/script_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/script.rb">lib/net/ssh/test/script.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/test/socket_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/socket.rb">lib/net/ssh/test/socket.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/test_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test.rb">lib/net/ssh/test.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+ <!-- Namespace Contents -->
+ <div id="namespace-list-section" class="section">
+ <h3 class="section-header">Namespace</h3>
+ <ul class="link-list">
+
+ <li><span class="type">MODULE</span> <a href="Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-assert_scripted">#assert_scripted</a></li>
+
+ <li><a href="#method-i-connection">#connection</a></li>
+
+ <li><a href="#method-i-socket">#socket</a></li>
+
+ <li><a href="#method-i-story">#story</a></li>
+
+ <li><a href="#method-i-transport">#transport</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Test</h1>
+
+ <div id="description" class="description">
+
+<p>This module may be used in unit tests, for when you want to test that your
+<a href="../SSH.html">SSH</a> state machines are really doing what you
+expect they are doing. You will typically include this module in your unit
+test class, and then build a “<a href="Test.html#method-i-story">story</a>”
+of expected sends and receives:</p>
+
+<pre>require 'test/unit'
+require 'net/ssh/test'
+
+class MyTest &lt; Test::Unit::TestCase
+ include Net::SSH::Test
+
+ def test_exec_via_channel_works
+ story do |session|
+ channel = session.opens_channel
+ channel.sends_exec &quot;ls&quot;
+ channel.gets_data &quot;result of ls&quot;
+ channel.gets_close
+ channel.sends_close
+ end
+
+ assert_scripted do
+ result = nil
+
+ connection.open_channel do |ch|
+ ch.exec(&quot;ls&quot;) do |success|
+ ch.on_data { |c, data| result = data }
+ ch.on_close { |c| c.close }
+ end
+ end
+
+ connection.loop
+ assert_equal &quot;result of ls&quot;, result
+ end
+ end
+end</pre>
+
+<p>See <a href="Test/Channel.html">Net::SSH::Test::Channel</a> and <a
+href="Test/Script.html">Net::SSH::Test::Script</a> for more options.</p>
+
+<p>Note that the <a href="Test.html">Net::SSH::Test</a> system is rather
+finicky yet, and can be kind of frustrating to get working. Any suggestions
+for improvement will be welcome!</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="assert_scripted-method" class="method-detail ">
+ <a name="method-i-assert_scripted"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">assert_scripted</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>First asserts that a <a href="Test.html#method-i-story">story</a> has been
+described (see #<a href="Test.html#method-i-story">story</a>). Then yields,
+and then asserts that all items described in the script have been
+processed. Typically, this is called immediately after a <a
+href="Test.html#method-i-story">story</a> has been built, and the <a
+href="../SSH.html">SSH</a> commands being tested are then executed within
+the block passed to this assertion.</p>
+
+
+
+ <div class="method-source-code" id="assert_scripted-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test.rb, line 82</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">assert_scripted</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;there is no script to be processed&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">script</span>.<span class="ruby-identifier">events</span>.<span class="ruby-identifier">empty?</span>
+ <span class="ruby-keyword">yield</span>
+ <span class="ruby-identifier">assert</span> <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">script</span>.<span class="ruby-identifier">events</span>.<span class="ruby-identifier">empty?</span>, <span class="ruby-node">&quot;there should not be any remaining scripted events, but there are still #{socket.script.events.length} pending&quot;</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- assert_scripted-source -->
+
+ </div>
+
+
+
+
+ </div><!-- assert_scripted-method -->
+
+
+ <div id="connection-method" class="method-detail ">
+ <a name="method-i-connection"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">connection</span><span
+ class="method-args">(options={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns the <a href="Test.html#method-i-connection">connection</a> session
+(<a href="Connection/Session.html">Net::SSH::Connection::Session</a>) for
+use in these tests. It is a fully functional <a href="../SSH.html">SSH</a>
+session, operating over a mock <a
+href="Test.html#method-i-socket">socket</a> (#<a
+href="Test.html#method-i-socket">socket</a>).</p>
+
+
+
+ <div class="method-source-code" id="connection-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test.rb, line 66</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">connection</span>(<span class="ruby-identifier">options</span>={})
+ <span class="ruby-ivar">@connection</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Connection</span><span class="ruby-operator">::</span><span class="ruby-constant">Session</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">transport</span>(<span class="ruby-identifier">options</span>), <span class="ruby-identifier">options</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- connection-source -->
+
+ </div>
+
+
+
+
+ </div><!-- connection-method -->
+
+
+ <div id="socket-method" class="method-detail ">
+ <a name="method-i-socket"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">socket</span><span
+ class="method-args">(options={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns the test <a href="Test.html#method-i-socket">socket</a> instance to
+use for these tests (see <a
+href="Test/Socket.html">Net::SSH::Test::Socket</a>).</p>
+
+
+
+ <div class="method-source-code" id="socket-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test.rb, line 59</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">socket</span>(<span class="ruby-identifier">options</span>={})
+ <span class="ruby-ivar">@socket</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Test</span><span class="ruby-operator">::</span><span class="ruby-constant">Socket</span>.<span class="ruby-identifier">new</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- socket-source -->
+
+ </div>
+
+
+
+
+ </div><!-- socket-method -->
+
+
+ <div id="story-method" class="method-detail ">
+ <a name="method-i-story"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">story</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>If a block is given, yields the script for the test <a
+href="Test.html#method-i-socket">socket</a> (#<a
+href="Test.html#method-i-socket">socket</a>). Otherwise, simply returns the
+<a href="Test.html#method-i-socket">socket</a>’s script. See <a
+href="Test/Script.html">Net::SSH::Test::Script</a>.</p>
+
+
+
+ <div class="method-source-code" id="story-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test.rb, line 52</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">story</span>
+ <span class="ruby-keyword">yield</span> <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">script</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">script</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- story-source -->
+
+ </div>
+
+
+
+
+ </div><!-- story-method -->
+
+
+ <div id="transport-method" class="method-detail ">
+ <a name="method-i-transport"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">transport</span><span
+ class="method-args">(options={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns the <a href="Test.html#method-i-transport">transport</a> session
+(<a href="Transport/Session.html">Net::SSH::Transport::Session</a>) for use
+in these tests. It is a fully functional <a href="../SSH.html">SSH</a> <a
+href="Test.html#method-i-transport">transport</a> session, operating over a
+mock <a href="Test.html#method-i-socket">socket</a> (#<a
+href="Test.html#method-i-socket">socket</a>).</p>
+
+
+
+ <div class="method-source-code" id="transport-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test.rb, line 73</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">transport</span>(<span class="ruby-identifier">options</span>={})
+ <span class="ruby-ivar">@transport</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Transport</span><span class="ruby-operator">::</span><span class="ruby-constant">Session</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:host</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&quot;localhost&quot;</span>, <span class="ruby-identifier">options</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value">:kex</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;test&quot;</span>, <span class="ruby-value">:host_key</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;ssh-rsa&quot;</span>, <span class="ruby-value">:paranoid</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span>, <span class="ruby-value">:proxy</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">socket</span>(<span class="ruby-identifier">options</span>)))
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- transport-source -->
+
+ </div>
+
+
+
+
+ </div><!-- transport-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Test/Channel.html b/Net/SSH/Test/Channel.html
new file mode 100644
index 0000000..905f16f
--- /dev/null
+++ b/Net/SSH/Test/Channel.html
@@ -0,0 +1,978 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Test::Channel</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/test/channel_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/channel.rb">lib/net/ssh/test/channel.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-gets_close">#gets_close</a></li>
+
+ <li><a href="#method-i-gets_data">#gets_data</a></li>
+
+ <li><a href="#method-i-gets_eof">#gets_eof</a></li>
+
+ <li><a href="#method-i-gets_exit_status">#gets_exit_status</a></li>
+
+ <li><a href="#method-i-inject_remote_delay-21">#inject_remote_delay!</a></li>
+
+ <li><a href="#method-i-local_id">#local_id</a></li>
+
+ <li><a href="#method-i-remote_id">#remote_id</a></li>
+
+ <li><a href="#method-i-sends_close">#sends_close</a></li>
+
+ <li><a href="#method-i-sends_data">#sends_data</a></li>
+
+ <li><a href="#method-i-sends_eof">#sends_eof</a></li>
+
+ <li><a href="#method-i-sends_exec">#sends_exec</a></li>
+
+ <li><a href="#method-i-sends_subsystem">#sends_subsystem</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Test::Channel</h1>
+
+ <div id="description" class="description">
+
+<p>A mock channel, used for scripting actions in tests. It wraps a <a
+href="Script.html">Net::SSH::Test::Script</a> instance, and delegates to it
+for the most part. This class has little real functionality on its own, but
+rather acts as a convenience for scripting channel-related activity for
+later comparison in a unit test.</p>
+
+<pre>story do |session|
+ channel = session.opens_channel
+ channel.sends_exec &quot;ls&quot;
+ channel.gets_data &quot;result of ls&quot;
+ channel.gets_close
+ channel.sends_close
+end</pre>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="local_id-attribute-method" class="method-detail">
+ <a name="local_id"></a>
+
+ <a name="local_id="></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">local_id</span><span
+ class="attribute-access-type">[W]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>Sets the local-id of this channel object (the id assigned by the client).</p>
+
+ </div>
+ </div>
+
+ <div id="remote_id-attribute-method" class="method-detail">
+ <a name="remote_id"></a>
+
+ <a name="remote_id="></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">remote_id</span><span
+ class="attribute-access-type">[W]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>Sets the remote-id of this channel object (the id assigned by the
+mock-server).</p>
+
+ </div>
+ </div>
+
+ <div id="script-attribute-method" class="method-detail">
+ <a name="script"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">script</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="Script.html">Net::SSH::Test::Script</a> instance employed by
+this mock channel.</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(script)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Creates a <a href="Channel.html#method-c-new">new</a> <a
+href="Channel.html">Test::Channel</a> instance on top of the given
+<tt>script</tt> (which must be a <a
+href="Script.html">Net::SSH::Test::Script</a> instance).</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/channel.rb, line 28</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">script</span>)
+ <span class="ruby-ivar">@script</span> = <span class="ruby-identifier">script</span>
+ <span class="ruby-ivar">@local_id</span> = <span class="ruby-ivar">@remote_id</span> = <span class="ruby-keyword">nil</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="gets_close-method" class="method-detail ">
+ <a name="method-i-gets_close"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">gets_close</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Scripts the reception of a “channel close” packet from the remote end.</p>
+
+<pre>channel.gets_close</pre>
+
+
+
+ <div class="method-source-code" id="gets_close-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/channel.rb, line 124</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">gets_close</span>
+ <span class="ruby-identifier">script</span>.<span class="ruby-identifier">gets_channel_close</span>(<span class="ruby-keyword">self</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- gets_close-source -->
+
+ </div>
+
+
+
+
+ </div><!-- gets_close-method -->
+
+
+ <div id="gets_data-method" class="method-detail ">
+ <a name="method-i-gets_data"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">gets_data</span><span
+ class="method-args">(data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Scripts the reception of a channel data packet from the remote end.</p>
+
+<pre>channel.gets_data &quot;bar&quot;</pre>
+
+
+
+ <div class="method-source-code" id="gets_data-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/channel.rb, line 103</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">gets_data</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-identifier">script</span>.<span class="ruby-identifier">gets_channel_data</span>(<span class="ruby-keyword">self</span>, <span class="ruby-identifier">data</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- gets_data-source -->
+
+ </div>
+
+
+
+
+ </div><!-- gets_data-method -->
+
+
+ <div id="gets_eof-method" class="method-detail ">
+ <a name="method-i-gets_eof"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">gets_eof</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Scripts the reception of an EOF packet from the remote end.</p>
+
+<pre>channel.gets_eof</pre>
+
+
+
+ <div class="method-source-code" id="gets_eof-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/channel.rb, line 117</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">gets_eof</span>
+ <span class="ruby-identifier">script</span>.<span class="ruby-identifier">gets_channel_eof</span>(<span class="ruby-keyword">self</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- gets_eof-source -->
+
+ </div>
+
+
+
+
+ </div><!-- gets_eof-method -->
+
+
+ <div id="gets_exit_status-method" class="method-detail ">
+ <a name="method-i-gets_exit_status"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">gets_exit_status</span><span
+ class="method-args">(status=0)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Scripts the reception of an “exit-status” channel request packet.</p>
+
+<pre>channel.gets_exit_status(127)</pre>
+
+
+
+ <div class="method-source-code" id="gets_exit_status-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/channel.rb, line 110</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">gets_exit_status</span>(<span class="ruby-identifier">status</span>=<span class="ruby-value">0</span>)
+ <span class="ruby-identifier">script</span>.<span class="ruby-identifier">gets_channel_request</span>(<span class="ruby-keyword">self</span>, <span class="ruby-string">&quot;exit-status&quot;</span>, <span class="ruby-keyword">false</span>, <span class="ruby-identifier">status</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- gets_exit_status-source -->
+
+ </div>
+
+
+
+
+ </div><!-- gets_exit_status-method -->
+
+
+ <div id="inject_remote_delay-21-method" class="method-detail ">
+ <a name="method-i-inject_remote_delay-21"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">inject_remote_delay!</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Because adjacent calls to #<a
+href="Channel.html#method-i-gets_data">gets_data</a> will sometimes cause
+the data packets to be concatenated (causing expectations in tests to
+fail), you may need to separate those calls with calls to #<a
+href="Channel.html#method-i-inject_remote_delay-21">inject_remote_delay!</a>
+(which essentially just mimics receiving an empty data packet):</p>
+
+<pre>channel.gets_data &quot;abcdefg&quot;
+channel.inject_remote_delay!
+channel.gets_data &quot;hijklmn&quot;</pre>
+
+
+
+ <div class="method-source-code" id="inject_remote_delay-21-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/channel.rb, line 55</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">inject_remote_delay!</span>
+ <span class="ruby-identifier">gets_data</span>(<span class="ruby-string">&quot;&quot;</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- inject_remote_delay-21-source -->
+
+ </div>
+
+
+
+
+ </div><!-- inject_remote_delay-21-method -->
+
+
+ <div id="local_id-method" class="method-detail ">
+ <a name="method-i-local_id"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">local_id</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns the local (client-assigned) id for this channel, or a Proc object
+that will return the local-id later if the local id has not yet been set.
+(See <a
+href="Packet.html#method-i-instantiate-21">Net::SSH::Test::Packet#instantiate!</a>.)</p>
+
+
+
+ <div class="method-source-code" id="local_id-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/channel.rb, line 36</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">local_id</span>
+ <span class="ruby-ivar">@local_id</span> <span class="ruby-operator">||</span> <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span> { <span class="ruby-ivar">@local_id</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;local-id has not been set yet!&quot;</span> }
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- local_id-source -->
+
+ </div>
+
+
+
+
+ </div><!-- local_id-method -->
+
+
+ <div id="remote_id-method" class="method-detail ">
+ <a name="method-i-remote_id"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">remote_id</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns the remote (server-assigned) id for this channel, or a Proc object
+that will return the remote-id later if the remote id has not yet been set.
+(See <a
+href="Packet.html#method-i-instantiate-21">Net::SSH::Test::Packet#instantiate!</a>.)</p>
+
+
+
+ <div class="method-source-code" id="remote_id-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/channel.rb, line 43</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">remote_id</span>
+ <span class="ruby-ivar">@remote_id</span> <span class="ruby-operator">||</span> <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span> { <span class="ruby-ivar">@remote_id</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;remote-id has not been set yet!&quot;</span> }
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- remote_id-source -->
+
+ </div>
+
+
+
+
+ </div><!-- remote_id-method -->
+
+
+ <div id="sends_close-method" class="method-detail ">
+ <a name="method-i-sends_close"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">sends_close</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Scripts the sending of a “channel close” packet across the channel.</p>
+
+<pre>channel.sends_close</pre>
+
+
+
+ <div class="method-source-code" id="sends_close-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/channel.rb, line 96</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">sends_close</span>
+ <span class="ruby-identifier">script</span>.<span class="ruby-identifier">sends_channel_close</span>(<span class="ruby-keyword">self</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- sends_close-source -->
+
+ </div>
+
+
+
+
+ </div><!-- sends_close-method -->
+
+
+ <div id="sends_data-method" class="method-detail ">
+ <a name="method-i-sends_data"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">sends_data</span><span
+ class="method-args">(data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Scripts the sending of a data packet across the channel.</p>
+
+<pre>channel.sends_data &quot;foo&quot;</pre>
+
+
+
+ <div class="method-source-code" id="sends_data-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/channel.rb, line 82</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">sends_data</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-identifier">script</span>.<span class="ruby-identifier">sends_channel_data</span>(<span class="ruby-keyword">self</span>, <span class="ruby-identifier">data</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- sends_data-source -->
+
+ </div>
+
+
+
+
+ </div><!-- sends_data-method -->
+
+
+ <div id="sends_eof-method" class="method-detail ">
+ <a name="method-i-sends_eof"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">sends_eof</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Scripts the sending of an EOF packet across the channel.</p>
+
+<pre>channel.sends_eof</pre>
+
+
+
+ <div class="method-source-code" id="sends_eof-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/channel.rb, line 89</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">sends_eof</span>
+ <span class="ruby-identifier">script</span>.<span class="ruby-identifier">sends_channel_eof</span>(<span class="ruby-keyword">self</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- sends_eof-source -->
+
+ </div>
+
+
+
+
+ </div><!-- sends_eof-method -->
+
+
+ <div id="sends_exec-method" class="method-detail ">
+ <a name="method-i-sends_exec"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">sends_exec</span><span
+ class="method-args">(command, reply=true, success=true)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Scripts the sending of an “exec” channel request packet to the mock
+server. If <tt>reply</tt> is true, then the server is expected to reply to
+the request, otherwise no response to this request will be sent. If
+<tt>success</tt> is <tt>true</tt>, then the request will be successful,
+otherwise a failure will be scripted.</p>
+
+<pre>channel.sends_exec &quot;ls -l&quot;</pre>
+
+
+
+ <div class="method-source-code" id="sends_exec-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/channel.rb, line 66</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">sends_exec</span>(<span class="ruby-identifier">command</span>, <span class="ruby-identifier">reply</span>=<span class="ruby-keyword">true</span>, <span class="ruby-identifier">success</span>=<span class="ruby-keyword">true</span>)
+ <span class="ruby-identifier">script</span>.<span class="ruby-identifier">sends_channel_request</span>(<span class="ruby-keyword">self</span>, <span class="ruby-string">&quot;exec&quot;</span>, <span class="ruby-identifier">reply</span>, <span class="ruby-identifier">command</span>, <span class="ruby-identifier">success</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- sends_exec-source -->
+
+ </div>
+
+
+
+
+ </div><!-- sends_exec-method -->
+
+
+ <div id="sends_subsystem-method" class="method-detail ">
+ <a name="method-i-sends_subsystem"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">sends_subsystem</span><span
+ class="method-args">(subsystem, reply=true, success=true)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Scripts the sending of a “subsystem” channel request packet to the mock
+server. See #<a href="Channel.html#method-i-sends_exec">sends_exec</a> for
+a discussion of the meaning of the <tt>reply</tt> and <tt>success</tt>
+arguments.</p>
+
+<pre>channel.sends_subsystem &quot;sftp&quot;</pre>
+
+
+
+ <div class="method-source-code" id="sends_subsystem-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/channel.rb, line 75</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">sends_subsystem</span>(<span class="ruby-identifier">subsystem</span>, <span class="ruby-identifier">reply</span>=<span class="ruby-keyword">true</span>, <span class="ruby-identifier">success</span>=<span class="ruby-keyword">true</span>)
+ <span class="ruby-identifier">script</span>.<span class="ruby-identifier">sends_channel_request</span>(<span class="ruby-keyword">self</span>, <span class="ruby-string">&quot;subsystem&quot;</span>, <span class="ruby-identifier">reply</span>, <span class="ruby-identifier">subsystem</span>, <span class="ruby-identifier">success</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- sends_subsystem-source -->
+
+ </div>
+
+
+
+
+ </div><!-- sends_subsystem-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Test/Extensions.html b/Net/SSH/Test/Extensions.html
new file mode 100644
index 0000000..ac91e8e
--- /dev/null
+++ b/Net/SSH/Test/Extensions.html
@@ -0,0 +1,401 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Test::Extensions</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/test/extensions_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/extensions.rb">lib/net/ssh/test/extensions.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+ <!-- Namespace Contents -->
+ <div id="namespace-list-section" class="section">
+ <h3 class="section-header">Namespace</h3>
+ <ul class="link-list">
+
+ <li><span class="type">MODULE</span> <a href="Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><span class="type">MODULE</span> <a href="Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><span class="type">MODULE</span> <a href="Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><span class="type">MODULE</span> <a href="Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ </ul>
+ </div>
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Test::Extensions</h1>
+
+ <div id="description" class="description">
+
+<p>A collection of modules used to extend/override the default behavior of <a
+href="../../SSH.html">Net::SSH</a> internals for ease of testing. As a
+consumer of <a href="../../SSH.html">Net::SSH</a>, you’ll never need to use
+this directly–they’re all used under the covers by the <a
+href="../Test.html">Net::SSH::Test</a> system.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Test/Extensions/BufferedIo.html b/Net/SSH/Test/Extensions/BufferedIo.html
new file mode 100644
index 0000000..f55316c
--- /dev/null
+++ b/Net/SSH/Test/Extensions/BufferedIo.html
@@ -0,0 +1,512 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Test::Extensions::BufferedIo</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/test/extensions_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/extensions.rb">lib/net/ssh/test/extensions.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-select_for_read-3F">#select_for_read?</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Test::Extensions::BufferedIo</h1>
+
+ <div id="description" class="description">
+
+<p>An extension to <a href="../../BufferedIo.html">Net::SSH::BufferedIo</a>
+(assumes that the underlying <a href="IO.html">IO</a> is actually a
+StringIO). Facilitates unit testing.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="select_for_error-attribute-method" class="method-detail">
+ <a name="select_for_error"></a>
+
+ <a name="select_for_error="></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">select_for_error</span><span
+ class="attribute-access-type">[RW]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>Set this to <tt>true</tt> if you want the <a href="IO.html">IO</a> to
+pretend to be in an error state</p>
+
+ </div>
+ </div>
+
+ <div id="select_for_error-3F-attribute-method" class="method-detail">
+ <a name="select_for_error?"></a>
+
+ <a name="select_for_error?="></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">select_for_error?</span><span
+ class="attribute-access-type">[RW]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>Set this to <tt>true</tt> if you want the <a href="IO.html">IO</a> to
+pretend to be in an error state</p>
+
+ </div>
+ </div>
+
+ <div id="select_for_write-attribute-method" class="method-detail">
+ <a name="select_for_write"></a>
+
+ <a name="select_for_write="></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">select_for_write</span><span
+ class="attribute-access-type">[RW]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>Set this to <tt>true</tt> if you want the <a href="IO.html">IO</a> to
+pretend to be available for writing</p>
+
+ </div>
+ </div>
+
+ <div id="select_for_write-3F-attribute-method" class="method-detail">
+ <a name="select_for_write?"></a>
+
+ <a name="select_for_write?="></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">select_for_write?</span><span
+ class="attribute-access-type">[RW]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>Set this to <tt>true</tt> if you want the <a href="IO.html">IO</a> to
+pretend to be available for writing</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="select_for_read-3F-method" class="method-detail ">
+ <a name="method-i-select_for_read-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">select_for_read?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns <tt>true</tt> if the position in the stream is less than the total
+length of the stream.</p>
+
+
+
+ <div class="method-source-code" id="select_for_read-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/extensions.rb, line 22</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">select_for_read?</span>
+ <span class="ruby-identifier">pos</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">size</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- select_for_read-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- select_for_read-3F-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Test/Extensions/Channel.html b/Net/SSH/Test/Extensions/Channel.html
new file mode 100644
index 0000000..7cb2261
--- /dev/null
+++ b/Net/SSH/Test/Extensions/Channel.html
@@ -0,0 +1,437 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Test::Extensions::Channel</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/test/extensions_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/extensions.rb">lib/net/ssh/test/extensions.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-send_data_for_test">#send_data_for_test</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Test::Extensions::Channel</h1>
+
+ <div id="description" class="description">
+
+<p>An extension to <a
+href="../../Connection/Channel.html">Net::SSH::Connection::Channel</a>.
+Facilitates unit testing.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="send_data_for_test-method" class="method-detail ">
+ <a name="method-i-send_data_for_test"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">send_data_for_test</span><span
+ class="method-args">(data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>The testing version of <a
+href="../../Connection/Channel.html#method-i-send_data">Net::SSH::Connection::Channel#send_data</a>.
+Calls the original implementation, and then immediately enqueues the data
+for output so that scripted sends are properly interpreted as discrete
+(rather than concatenated) data packets.</p>
+
+
+
+ <div class="method-source-code" id="send_data_for_test-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/extensions.rb, line 103</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">send_data_for_test</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-identifier">send_data_for_real</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-identifier">enqueue_pending_output</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- send_data_for_test-source -->
+
+ </div>
+
+
+
+
+ </div><!-- send_data_for_test-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Test/Extensions/IO.html b/Net/SSH/Test/Extensions/IO.html
new file mode 100644
index 0000000..c2293fd
--- /dev/null
+++ b/Net/SSH/Test/Extensions/IO.html
@@ -0,0 +1,392 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Test::Extensions::IO</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/test/extensions_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/extensions.rb">lib/net/ssh/test/extensions.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+ <!-- Namespace Contents -->
+ <div id="namespace-list-section" class="section">
+ <h3 class="section-header">Namespace</h3>
+ <ul class="link-list">
+
+ <li><span class="type">MODULE</span> <a href="IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ </ul>
+ </div>
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Test::Extensions::IO</h1>
+
+ <div id="description" class="description">
+
+<p>An extension to the built-in ::IO class. Simply redefines IO.select so that
+it can be scripted in <a href="../../../SSH.html">Net::SSH</a> unit tests.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Test/Extensions/IO/ClassMethods.html b/Net/SSH/Test/Extensions/IO/ClassMethods.html
new file mode 100644
index 0000000..35a5c51
--- /dev/null
+++ b/Net/SSH/Test/Extensions/IO/ClassMethods.html
@@ -0,0 +1,443 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Test::Extensions::IO::ClassMethods</title>
+
+ <link rel="stylesheet" href="../../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../../index.html">Home</a>
+ <a href="../../../../../index.html#classes">Classes</a>
+ <a href="../../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../../lib/net/ssh/test/extensions_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/extensions.rb">lib/net/ssh/test/extensions.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-select_for_test">#select_for_test</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Test::Extensions::IO::ClassMethods</h1>
+
+ <div id="description" class="description">
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="select_for_test-method" class="method-detail ">
+ <a name="method-i-select_for_test"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">select_for_test</span><span
+ class="method-args">(readers=nil, writers=nil, errors=nil, wait=nil)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>The testing version of ::IO.select. Assumes that all readers, writers, and
+errors arrays are either nil, or contain only objects that mix in <a
+href="../BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a>.</p>
+
+
+
+ <div class="method-source-code" id="select_for_test-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/extensions.rb, line 127</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">select_for_test</span>(<span class="ruby-identifier">readers</span>=<span class="ruby-keyword">nil</span>, <span class="ruby-identifier">writers</span>=<span class="ruby-keyword">nil</span>, <span class="ruby-identifier">errors</span>=<span class="ruby-keyword">nil</span>, <span class="ruby-identifier">wait</span>=<span class="ruby-keyword">nil</span>)
+ <span class="ruby-identifier">ready_readers</span> = <span class="ruby-constant">Array</span>(<span class="ruby-identifier">readers</span>).<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">select_for_read?</span> }
+ <span class="ruby-identifier">ready_writers</span> = <span class="ruby-constant">Array</span>(<span class="ruby-identifier">writers</span>).<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">select_for_write?</span> }
+ <span class="ruby-identifier">ready_errors</span> = <span class="ruby-constant">Array</span>(<span class="ruby-identifier">errors</span>).<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">select_for_error?</span> }
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">ready_readers</span>.<span class="ruby-identifier">any?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">ready_writers</span>.<span class="ruby-identifier">any?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">ready_errors</span>.<span class="ruby-identifier">any?</span>
+ <span class="ruby-keyword">return</span> [<span class="ruby-identifier">ready_readers</span>, <span class="ruby-identifier">ready_writers</span>, <span class="ruby-identifier">ready_errors</span>]
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">processed</span> = <span class="ruby-value">0</span>
+ <span class="ruby-constant">Array</span>(<span class="ruby-identifier">readers</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">reader</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">processed</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">reader</span>.<span class="ruby-identifier">idle!</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;no readers were ready for reading, and none had any incoming packets&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">processed</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- select_for_test-source -->
+
+ </div>
+
+
+
+
+ </div><!-- select_for_test-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Test/Extensions/PacketStream.html b/Net/SSH/Test/Extensions/PacketStream.html
new file mode 100644
index 0000000..6972390
--- /dev/null
+++ b/Net/SSH/Test/Extensions/PacketStream.html
@@ -0,0 +1,574 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Test::Extensions::PacketStream</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/test/extensions_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/extensions.rb">lib/net/ssh/test/extensions.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-idle-21">#idle!</a></li>
+
+ <li><a href="#method-i-test_available_for_read-3F">#test_available_for_read?</a></li>
+
+ <li><a href="#method-i-test_enqueue_packet">#test_enqueue_packet</a></li>
+
+ <li><a href="#method-i-test_poll_next_packet">#test_poll_next_packet</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Test::Extensions::PacketStream</h1>
+
+ <div id="description" class="description">
+
+<p>An extension to <a
+href="../../Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a>
+(assumes that the underlying <a href="IO.html">IO</a> is actually a
+StringIO). Facilitates unit testing.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="idle-21-method" class="method-detail ">
+ <a name="method-i-idle-21"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">idle!</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Called when another packet should be inspected from the current script. If
+the next packet is a remote packet, it pops it off the script and shoves it
+onto this <a href="IO.html">IO</a> object, making it available to be read.</p>
+
+
+
+ <div class="method-source-code" id="idle-21-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/extensions.rb, line 56</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">idle!</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">script</span>.<span class="ruby-identifier">next</span>(<span class="ruby-value">:first</span>)
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">script</span>.<span class="ruby-identifier">next</span>(<span class="ruby-value">:first</span>).<span class="ruby-identifier">remote?</span>
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">string</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">script</span>.<span class="ruby-identifier">next</span>.<span class="ruby-identifier">to_s</span>
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">pos</span> = <span class="ruby-identifier">pos</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- idle-21-source -->
+
+ </div>
+
+
+
+
+ </div><!-- idle-21-method -->
+
+
+ <div id="test_available_for_read-3F-method" class="method-detail ">
+ <a name="method-i-test_available_for_read-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">test_available_for_read?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>The testing version of <a
+href="../../Transport/PacketStream.html#method-i-available_for_read-3F">Net::SSH::Transport::PacketStream#available_for_read?</a>.
+Returns true if there is data pending to be read. Otherwise calls #<a
+href="PacketStream.html#method-i-idle-21">idle!</a>.</p>
+
+
+
+ <div class="method-source-code" id="test_available_for_read-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/extensions.rb, line 69</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">test_available_for_read?</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">select_for_read?</span>
+ <span class="ruby-identifier">idle!</span>
+ <span class="ruby-keyword">false</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- test_available_for_read-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- test_available_for_read-3F-method -->
+
+
+ <div id="test_enqueue_packet-method" class="method-detail ">
+ <a name="method-i-test_enqueue_packet"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">test_enqueue_packet</span><span
+ class="method-args">(payload)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>The testing version of Net::SSH::Transport::PacketStream#enqueued_packet.
+Simply calls <a
+href="../Script.html#method-i-process">Net::SSH::Test::Script#process</a>
+on the packet.</p>
+
+
+
+ <div class="method-source-code" id="test_enqueue_packet-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/extensions.rb, line 77</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">test_enqueue_packet</span>(<span class="ruby-identifier">payload</span>)
+ <span class="ruby-identifier">packet</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">payload</span>.<span class="ruby-identifier">to_s</span>)
+ <span class="ruby-identifier">script</span>.<span class="ruby-identifier">process</span>(<span class="ruby-identifier">packet</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- test_enqueue_packet-source -->
+
+ </div>
+
+
+
+
+ </div><!-- test_enqueue_packet-method -->
+
+
+ <div id="test_poll_next_packet-method" class="method-detail ">
+ <a name="method-i-test_poll_next_packet"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">test_poll_next_packet</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>The testing version of <a
+href="../../Transport/PacketStream.html#method-i-poll_next_packet">Net::SSH::Transport::PacketStream#poll_next_packet</a>.
+Reads the next available packet from the <a href="IO.html">IO</a> object
+and returns it.</p>
+
+
+
+ <div class="method-source-code" id="test_poll_next_packet-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/extensions.rb, line 84</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">test_poll_next_packet</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">available</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value">0</span>
+ <span class="ruby-identifier">packet</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">read_available</span>(<span class="ruby-value">4</span>))
+ <span class="ruby-identifier">length</span> = <span class="ruby-identifier">packet</span>.<span class="ruby-identifier">read_long</span>
+ <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Packet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">read_available</span>(<span class="ruby-identifier">length</span>))
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- test_poll_next_packet-source -->
+
+ </div>
+
+
+
+
+ </div><!-- test_poll_next_packet-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Test/Kex.html b/Net/SSH/Test/Kex.html
new file mode 100644
index 0000000..1552368
--- /dev/null
+++ b/Net/SSH/Test/Kex.html
@@ -0,0 +1,508 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Test::Kex</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/test/kex_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/kex.rb">lib/net/ssh/test/kex.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-exchange_keys">#exchange_keys</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="../Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Test::Kex</h1>
+
+ <div id="description" class="description">
+
+<p>An implementation of a key-exchange strategy specifically for unit tests.
+(This strategy would never really work against a real <a
+href="../../SSH.html">SSH</a> server–it makes too many assumptions about
+the server’s response.)</p>
+
+<p>This registers itself with the transport key-exchange system as the “test”
+algorithm.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(algorithms, connection, data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Creates a <a href="Kex.html#method-c-new">new</a> instance of the testing
+key-exchange algorithm with the given arguments.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/kex.rb, line 21</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">algorithms</span>, <span class="ruby-identifier">connection</span>, <span class="ruby-identifier">data</span>)
+ <span class="ruby-ivar">@connection</span> = <span class="ruby-identifier">connection</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="exchange_keys-method" class="method-detail ">
+ <a name="method-i-exchange_keys"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">exchange_keys</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Exchange keys with the server. This returns a hash of constant values, and
+does not actually exchange keys.</p>
+
+
+
+ <div class="method-source-code" id="exchange_keys-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/kex.rb, line 27</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">exchange_keys</span>
+ <span class="ruby-identifier">result</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">from</span>(<span class="ruby-value">:byte</span>, <span class="ruby-constant">NEWKEYS</span>)
+ <span class="ruby-ivar">@connection</span>.<span class="ruby-identifier">send_message</span>(<span class="ruby-identifier">result</span>)
+
+ <span class="ruby-identifier">buffer</span> = <span class="ruby-ivar">@connection</span>.<span class="ruby-identifier">next_message</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-string">&quot;expected NEWKEYS&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">NEWKEYS</span>
+
+ { <span class="ruby-value">:session_id</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;abc-xyz&quot;</span>,
+ <span class="ruby-value">:server_key</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">RSA</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">32</span>),
+ <span class="ruby-value">:shared_secret</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">BN</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&quot;1234567890&quot;</span>, <span class="ruby-value">10</span>),
+ <span class="ruby-value">:hashing_algorithm</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">SHA1</span> }
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- exchange_keys-source -->
+
+ </div>
+
+
+
+
+ </div><!-- exchange_keys-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Test/LocalPacket.html b/Net/SSH/Test/LocalPacket.html
new file mode 100644
index 0000000..1419acd
--- /dev/null
+++ b/Net/SSH/Test/LocalPacket.html
@@ -0,0 +1,565 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Test::LocalPacket</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/test/local_packet_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/local_packet.rb">lib/net/ssh/test/local_packet.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="../Packet.html">Net::SSH::Packet</a></p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-local-3F">#local?</a></li>
+
+ <li><a href="#method-i-process">#process</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Test::LocalPacket</h1>
+
+ <div id="description" class="description">
+
+<p>This is a specialization of <a
+href="Packet.html">Net::SSH::Test::Packet</a> for representing mock packets
+that are sent from the local (client) host. These are created automatically
+by <a href="Script.html">Net::SSH::Test::Script</a> and <a
+href="Channel.html">Net::SSH::Test::Channel</a> by any of the sends_*
+methods.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="init-attribute-method" class="method-detail">
+ <a name="init"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">init</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(type, *args, &block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Extend the default <a href="Packet.html">Net::SSH::Test::Packet</a>
+constructor to also accept an optional block, which is used to finalize the
+initialization of the packet when #<a
+href="LocalPacket.html#method-i-process">process</a> is first called.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/local_packet.rb, line 16</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">type</span>, *<span class="ruby-identifier">args</span>, &amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-keyword">super</span>(<span class="ruby-identifier">type</span>, *<span class="ruby-identifier">args</span>)
+ <span class="ruby-ivar">@init</span> = <span class="ruby-identifier">block</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="local-3F-method" class="method-detail ">
+ <a name="method-i-local-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">local?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns <tt>true</tt>; this is a local packet.</p>
+
+
+
+ <div class="method-source-code" id="local-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/local_packet.rb, line 22</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">local?</span>
+ <span class="ruby-keyword">true</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- local-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- local-3F-method -->
+
+
+ <div id="process-method" class="method-detail ">
+ <a name="method-i-process"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">process</span><span
+ class="method-args">(packet)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Called by <a
+href="Extensions/PacketStream.html#method-i-test_enqueue_packet">Net::SSH::Test::Extensions::PacketStream#test_enqueue_packet</a>
+to mimic remote processing of a locally-sent packet. It compares the packet
+it was given with the contents of this LocalPacket’s data, to see if what
+was sent matches what was scripted. If it differs in any way, an exception
+is raised.</p>
+
+
+
+ <div class="method-source-code" id="process-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/local_packet.rb, line 31</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">process</span>(<span class="ruby-identifier">packet</span>)
+ <span class="ruby-ivar">@init</span>.<span class="ruby-identifier">call</span>(<span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Packet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">packet</span>.<span class="ruby-identifier">to_s</span>)) <span class="ruby-keyword">if</span> <span class="ruby-ivar">@init</span>
+ <span class="ruby-identifier">type</span> = <span class="ruby-identifier">packet</span>.<span class="ruby-identifier">read_byte</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;expected #{@type}, but got #{type}&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@type</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">type</span>
+
+ <span class="ruby-ivar">@data</span>.<span class="ruby-identifier">zip</span>(<span class="ruby-identifier">types</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">expected</span>, <span class="ruby-identifier">type</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">type</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword">case</span> <span class="ruby-identifier">expected</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">then</span> <span class="ruby-keyword">break</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">Numeric</span> <span class="ruby-keyword">then</span> <span class="ruby-value">:long</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">String</span> <span class="ruby-keyword">then</span> <span class="ruby-value">:string</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">TrueClass</span>, <span class="ruby-constant">FalseClass</span> <span class="ruby-keyword">then</span> <span class="ruby-value">:bool</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">actual</span> = <span class="ruby-identifier">packet</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;read_#{type}&quot;</span>)
+ <span class="ruby-keyword">next</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">expected</span>.<span class="ruby-identifier">nil?</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;expected #{type} #{expected.inspect} but got #{actual.inspect}&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">expected</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">actual</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- process-source -->
+
+ </div>
+
+
+
+
+ </div><!-- process-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Test/Packet.html b/Net/SSH/Test/Packet.html
new file mode 100644
index 0000000..b646ed2
--- /dev/null
+++ b/Net/SSH/Test/Packet.html
@@ -0,0 +1,657 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Test::Packet</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/test/packet_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/packet.rb">lib/net/ssh/test/packet.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-instantiate-21">#instantiate!</a></li>
+
+ <li><a href="#method-i-local-3F">#local?</a></li>
+
+ <li><a href="#method-i-remote-3F">#remote?</a></li>
+
+ <li><a href="#method-i-types">#types</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="../Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+
+
+ <li><a class="include" href="../Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Test::Packet</h1>
+
+ <div id="description" class="description">
+
+<p>This is an abstract class, not to be instantiated directly, subclassed by
+<a href="LocalPacket.html">Net::SSH::Test::LocalPacket</a> and <a
+href="RemotePacket.html">Net::SSH::Test::RemotePacket</a>. It implements
+functionality common to those subclasses.</p>
+
+<p>These packets are not true packets, in that they don’t represent what was
+actually sent between the hosst; rather, they represent what was expected
+to be sent, as dictated by the script (<a
+href="Script.html">Net::SSH::Test::Script</a>). Thus, though they are
+defined with data elements, these data elements are used to either validate
+data that was sent by the local host (<a
+href="LocalPacket.html">Net::SSH::Test::LocalPacket</a>) or to mimic the
+sending of data by the remote host (<a
+href="RemotePacket.html">Net::SSH::Test::RemotePacket</a>).</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(type, *args)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Ceate a <a href="Packet.html#method-c-new">new</a> packet of the given
+<tt>type</tt>, and with <tt>args</tt> being a list of data elements in the
+order expected for packets of the given <tt>type</tt> (see #<a
+href="Packet.html#method-i-types">types</a>).</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/packet.rb, line 23</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">type</span>, *<span class="ruby-identifier">args</span>)
+ <span class="ruby-ivar">@type</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">const_get</span>(<span class="ruby-identifier">type</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">upcase</span>)
+ <span class="ruby-ivar">@data</span> = <span class="ruby-identifier">args</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="instantiate-21-method" class="method-detail ">
+ <a name="method-i-instantiate-21"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">instantiate!</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Instantiates the packets data elements. When the packet was first defined,
+some elements may not have been fully realized, and were described as Proc
+objects rather than atomic <a href="Packet.html#method-i-types">types</a>.
+This invokes those Proc objects and replaces them with their returned
+values. This allows for values like <a
+href="Channel.html#method-i-remote_id">Net::SSH::Test::Channel#remote_id</a>
+to be used in scripts before the remote_id is known (since it is only known
+after a channel has been confirmed open).</p>
+
+
+
+ <div class="method-source-code" id="instantiate-21-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/packet.rb, line 45</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">instantiate!</span>
+ <span class="ruby-ivar">@data</span>.<span class="ruby-identifier">map!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">i</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:call</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">i</span>.<span class="ruby-identifier">call</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">i</span> }
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- instantiate-21-source -->
+
+ </div>
+
+
+
+
+ </div><!-- instantiate-21-method -->
+
+
+ <div id="local-3F-method" class="method-detail ">
+ <a name="method-i-local-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">local?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>The default for <tt>local?</tt> is false. Subclasses should override as
+necessary.</p>
+
+
+
+ <div class="method-source-code" id="local-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/packet.rb, line 34</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">local?</span>
+ <span class="ruby-keyword">false</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- local-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- local-3F-method -->
+
+
+ <div id="remote-3F-method" class="method-detail ">
+ <a name="method-i-remote-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">remote?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>The default for <tt>remote?</tt> is false. Subclasses should override as
+necessary.</p>
+
+
+
+ <div class="method-source-code" id="remote-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/packet.rb, line 29</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">remote?</span>
+ <span class="ruby-keyword">false</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- remote-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- remote-3F-method -->
+
+
+ <div id="types-method" class="method-detail ">
+ <a name="method-i-types"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">types</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns an array of symbols describing the data elements for packets of the
+same type as this packet. These <a
+href="Packet.html#method-i-types">types</a> are used to either validate
+sent packets (<a href="LocalPacket.html">Net::SSH::Test::LocalPacket</a>)
+or build received packets (<a
+href="RemotePacket.html">Net::SSH::Test::RemotePacket</a>).</p>
+
+<p>Not all packet <a href="Packet.html#method-i-types">types</a> are defined
+here. As <a href="Packet.html#method-c-new">new</a> packet <a
+href="Packet.html#method-i-types">types</a> are required (e.g., a unit test
+needs to test that the remote host sent a packet that is not implemented
+here), the description of that packet should be added. Unsupported packet
+<a href="Packet.html#method-i-types">types</a> will otherwise raise an
+exception.</p>
+
+
+
+ <div class="method-source-code" id="types-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/packet.rb, line 58</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">types</span>
+ <span class="ruby-ivar">@types</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword">case</span> <span class="ruby-ivar">@type</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">KEXINIT</span> <span class="ruby-keyword">then</span>
+ [<span class="ruby-value">:long</span>, <span class="ruby-value">:long</span>, <span class="ruby-value">:long</span>, <span class="ruby-value">:long</span>,
+ <span class="ruby-value">:string</span>, <span class="ruby-value">:string</span>, <span class="ruby-value">:string</span>, <span class="ruby-value">:string</span>, <span class="ruby-value">:string</span>, <span class="ruby-value">:string</span>, <span class="ruby-value">:string</span>, <span class="ruby-value">:string</span>, <span class="ruby-value">:string</span>, <span class="ruby-value">:string</span>,
+ <span class="ruby-value">:bool</span>]
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">NEWKEYS</span> <span class="ruby-keyword">then</span> []
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">CHANNEL_OPEN</span> <span class="ruby-keyword">then</span> [<span class="ruby-value">:string</span>, <span class="ruby-value">:long</span>, <span class="ruby-value">:long</span>, <span class="ruby-value">:long</span>]
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">CHANNEL_OPEN_CONFIRMATION</span> <span class="ruby-keyword">then</span> [<span class="ruby-value">:long</span>, <span class="ruby-value">:long</span>, <span class="ruby-value">:long</span>, <span class="ruby-value">:long</span>]
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">CHANNEL_DATA</span> <span class="ruby-keyword">then</span> [<span class="ruby-value">:long</span>, <span class="ruby-value">:string</span>]
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">CHANNEL_EOF</span>, <span class="ruby-constant">CHANNEL_CLOSE</span>, <span class="ruby-constant">CHANNEL_SUCCESS</span>, <span class="ruby-constant">CHANNEL_FAILURE</span> <span class="ruby-keyword">then</span> [<span class="ruby-value">:long</span>]
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">CHANNEL_REQUEST</span>
+ <span class="ruby-identifier">parts</span> = [<span class="ruby-value">:long</span>, <span class="ruby-value">:string</span>, <span class="ruby-value">:bool</span>]
+ <span class="ruby-keyword">case</span> <span class="ruby-ivar">@data</span>[<span class="ruby-value">1</span>]
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&quot;exec&quot;</span>, <span class="ruby-string">&quot;subsystem&quot;</span> <span class="ruby-keyword">then</span> <span class="ruby-identifier">parts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">:string</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&quot;exit-status&quot;</span> <span class="ruby-keyword">then</span> <span class="ruby-identifier">parts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">:long</span>
+ <span class="ruby-keyword">else</span> <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;don't know what to do about #{@data[1]} channel request&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">else</span> <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;don't know how to parse packet type #{@type}&quot;</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- types-source -->
+
+ </div>
+
+
+
+
+ </div><!-- types-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Test/RemotePacket.html b/Net/SSH/Test/RemotePacket.html
new file mode 100644
index 0000000..33a50e8
--- /dev/null
+++ b/Net/SSH/Test/RemotePacket.html
@@ -0,0 +1,526 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Test::RemotePacket</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/test/remote_packet_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/remote_packet.rb">lib/net/ssh/test/remote_packet.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Packet.html">Net::SSH::Test::Packet</a></p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-process">#process</a></li>
+
+ <li><a href="#method-i-remote-3F">#remote?</a></li>
+
+ <li><a href="#method-i-to_s">#to_s</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Test::RemotePacket</h1>
+
+ <div id="description" class="description">
+
+<p>This is a specialization of <a
+href="Packet.html">Net::SSH::Test::Packet</a> for representing mock packets
+that are received by the local (client) host. These are created
+automatically by <a href="Script.html">Net::SSH::Test::Script</a> and <a
+href="Channel.html">Net::SSH::Test::Channel</a> by any of the gets_*
+methods.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="process-method" class="method-detail ">
+ <a name="method-i-process"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">process</span><span
+ class="method-args">(packet)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>The #<a href="RemotePacket.html#method-i-process">process</a> method should
+only be called on <a
+href="LocalPacket.html">Net::SSH::Test::LocalPacket</a> packets; if it is
+attempted on a remote packet, then it is an expectation mismatch (a remote
+packet was received when a local packet was expected to be sent). This will
+happen when either your test script (<a
+href="Script.html">Net::SSH::Test::Script</a>) or your program are wrong.</p>
+
+
+
+ <div class="method-source-code" id="process-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/remote_packet.rb, line 21</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">process</span>(<span class="ruby-identifier">packet</span>)
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;received packet type #{packet.read_byte} and was not expecting any packet&quot;</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- process-source -->
+
+ </div>
+
+
+
+
+ </div><!-- process-method -->
+
+
+ <div id="remote-3F-method" class="method-detail ">
+ <a name="method-i-remote-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">remote?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns <tt>true</tt>; this is a remote packet.</p>
+
+
+
+ <div class="method-source-code" id="remote-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/remote_packet.rb, line 12</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">remote?</span>
+ <span class="ruby-keyword">true</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- remote-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- remote-3F-method -->
+
+
+ <div id="to_s-method" class="method-detail ">
+ <a name="method-i-to_s"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">to_s</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns this remote packet as a string, suitable for parsing by <a
+href="../Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a>
+and friends. When a remote packet is received, this method is called and
+the result concatenated onto the input buffer for the packet stream.</p>
+
+
+
+ <div class="method-source-code" id="to_s-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/remote_packet.rb, line 29</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_s</span>
+ <span class="ruby-ivar">@to_s</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword">begin</span>
+ <span class="ruby-identifier">instantiate!</span>
+ <span class="ruby-identifier">string</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">from</span>(<span class="ruby-value">:byte</span>, <span class="ruby-ivar">@type</span>, *<span class="ruby-identifier">types</span>.<span class="ruby-identifier">zip</span>(<span class="ruby-ivar">@data</span>).<span class="ruby-identifier">flatten</span>).<span class="ruby-identifier">to_s</span>
+ [<span class="ruby-identifier">string</span>.<span class="ruby-identifier">length</span>, <span class="ruby-identifier">string</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;NA*&quot;</span>)
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- to_s-source -->
+
+ </div>
+
+
+
+
+ </div><!-- to_s-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Test/Script.html b/Net/SSH/Test/Script.html
new file mode 100644
index 0000000..f5c15a2
--- /dev/null
+++ b/Net/SSH/Test/Script.html
@@ -0,0 +1,1015 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Test::Script</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/test/script_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/script.rb">lib/net/ssh/test/script.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-gets">#gets</a></li>
+
+ <li><a href="#method-i-gets_channel_close">#gets_channel_close</a></li>
+
+ <li><a href="#method-i-gets_channel_data">#gets_channel_data</a></li>
+
+ <li><a href="#method-i-gets_channel_eof">#gets_channel_eof</a></li>
+
+ <li><a href="#method-i-gets_channel_request">#gets_channel_request</a></li>
+
+ <li><a href="#method-i-next">#next</a></li>
+
+ <li><a href="#method-i-opens_channel">#opens_channel</a></li>
+
+ <li><a href="#method-i-process">#process</a></li>
+
+ <li><a href="#method-i-sends">#sends</a></li>
+
+ <li><a href="#method-i-sends_channel_close">#sends_channel_close</a></li>
+
+ <li><a href="#method-i-sends_channel_data">#sends_channel_data</a></li>
+
+ <li><a href="#method-i-sends_channel_eof">#sends_channel_eof</a></li>
+
+ <li><a href="#method-i-sends_channel_request">#sends_channel_request</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Test::Script</h1>
+
+ <div id="description" class="description">
+
+<p>Represents a sequence of scripted <a
+href="Script.html#attribute-i-events">events</a> that identify the behavior
+that a test expects. Methods named “sends_*” create <a
+href="Script.html#attribute-i-events">events</a> for packets being sent
+from the local to the remote host, and methods named “gets_*” create <a
+href="Script.html#attribute-i-events">events</a> for packets being received
+by the local from the remote host.</p>
+
+<p>A reference to a script. is generally obtained in a unit test via the <a
+href="../Test.html#method-i-story">Net::SSH::Test#story</a> helper method:</p>
+
+<pre>story do |script|
+ channel = script.opens_channel
+ ...
+end</pre>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="events-attribute-method" class="method-detail">
+ <a name="events"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">events</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The list of scripted <a href="Script.html#attribute-i-events">events</a>.
+These will be <a href="LocalPacket.html">Net::SSH::Test::LocalPacket</a>
+and <a href="RemotePacket.html">Net::SSH::Test::RemotePacket</a> instances.</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Create a <a href="Script.html#method-c-new">new</a>, empty script.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/script.rb, line 25</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>
+ <span class="ruby-ivar">@events</span> = []
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="gets-method" class="method-detail ">
+ <a name="method-i-gets"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">gets</span><span
+ class="method-args">(type, *args)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>A convenience method for adding an arbitrary remote packet to the <a
+href="Script.html#attribute-i-events">events</a> list.</p>
+
+
+
+ <div class="method-source-code" id="gets-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/script.rb, line 56</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">gets</span>(<span class="ruby-identifier">type</span>, *<span class="ruby-identifier">args</span>)
+ <span class="ruby-identifier">events</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">RemotePacket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">type</span>, *<span class="ruby-identifier">args</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- gets-source -->
+
+ </div>
+
+
+
+
+ </div><!-- gets-method -->
+
+
+ <div id="gets_channel_close-method" class="method-detail ">
+ <a name="method-i-gets_channel_close"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">gets_channel_close</span><span
+ class="method-args">(channel)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Scripts the reception of a channel close packet from the remote host by the
+given <a href="Channel.html">Net::SSH::Test::Channel</a> <tt>channel</tt>.
+This will typically be called via <a
+href="Channel.html#method-i-gets_close">Net::SSH::Test::Channel#gets_close</a>.</p>
+
+
+
+ <div class="method-source-code" id="gets_channel_close-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/script.rb, line 131</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">gets_channel_close</span>(<span class="ruby-identifier">channel</span>)
+ <span class="ruby-identifier">events</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">RemotePacket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:channel_close</span>, <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">local_id</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- gets_channel_close-source -->
+
+ </div>
+
+
+
+
+ </div><!-- gets_channel_close-method -->
+
+
+ <div id="gets_channel_data-method" class="method-detail ">
+ <a name="method-i-gets_channel_data"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">gets_channel_data</span><span
+ class="method-args">(channel, data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Scripts the reception of a channel data packet from the remote host by the
+given <a href="Channel.html">Net::SSH::Test::Channel</a> <tt>channel</tt>.
+This will typically be called via <a
+href="Channel.html#method-i-gets_data">Net::SSH::Test::Channel#gets_data</a>.</p>
+
+
+
+ <div class="method-source-code" id="gets_channel_data-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/script.rb, line 110</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">gets_channel_data</span>(<span class="ruby-identifier">channel</span>, <span class="ruby-identifier">data</span>)
+ <span class="ruby-identifier">events</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">RemotePacket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:channel_data</span>, <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">local_id</span>, <span class="ruby-identifier">data</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- gets_channel_data-source -->
+
+ </div>
+
+
+
+
+ </div><!-- gets_channel_data-method -->
+
+
+ <div id="gets_channel_eof-method" class="method-detail ">
+ <a name="method-i-gets_channel_eof"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">gets_channel_eof</span><span
+ class="method-args">(channel)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Scripts the reception of a channel EOF packet from the remote host by the
+given <a href="Channel.html">Net::SSH::Test::Channel</a> <tt>channel</tt>.
+This will typically be called via <a
+href="Channel.html#method-i-gets_eof">Net::SSH::Test::Channel#gets_eof</a>.</p>
+
+
+
+ <div class="method-source-code" id="gets_channel_eof-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/script.rb, line 124</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">gets_channel_eof</span>(<span class="ruby-identifier">channel</span>)
+ <span class="ruby-identifier">events</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">RemotePacket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:channel_eof</span>, <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">local_id</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- gets_channel_eof-source -->
+
+ </div>
+
+
+
+
+ </div><!-- gets_channel_eof-method -->
+
+
+ <div id="gets_channel_request-method" class="method-detail ">
+ <a name="method-i-gets_channel_request"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">gets_channel_request</span><span
+ class="method-args">(channel, request, reply, data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Scripts the reception of a channel request packet from the remote host by
+the given <a href="Channel.html">Net::SSH::Test::Channel</a>
+<tt>channel</tt>. This will typically be called via <a
+href="Channel.html#method-i-gets_exit_status">Net::SSH::Test::Channel#gets_exit_status</a>.</p>
+
+
+
+ <div class="method-source-code" id="gets_channel_request-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/script.rb, line 117</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">gets_channel_request</span>(<span class="ruby-identifier">channel</span>, <span class="ruby-identifier">request</span>, <span class="ruby-identifier">reply</span>, <span class="ruby-identifier">data</span>)
+ <span class="ruby-identifier">events</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">RemotePacket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:channel_request</span>, <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">local_id</span>, <span class="ruby-identifier">request</span>, <span class="ruby-identifier">reply</span>, <span class="ruby-identifier">data</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- gets_channel_request-source -->
+
+ </div>
+
+
+
+
+ </div><!-- gets_channel_request-method -->
+
+
+ <div id="next-method" class="method-detail ">
+ <a name="method-i-next"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">next</span><span
+ class="method-args">(mode=:shift)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>By default, removes the <a href="Script.html#method-i-next">next</a> event
+in the list and returns it. However, this can also be used to
+non-destructively peek at the <a href="Script.html#method-i-next">next</a>
+event in the list, by passing :first as the argument.</p>
+
+<pre># remove the next event and return it
+event = script.next
+
+# peek at the next event
+event = script.next(:first)</pre>
+
+
+
+ <div class="method-source-code" id="next-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/script.rb, line 144</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">next</span>(<span class="ruby-identifier">mode</span>=<span class="ruby-value">:shift</span>)
+ <span class="ruby-identifier">events</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">mode</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- next-source -->
+
+ </div>
+
+
+
+
+ </div><!-- next-method -->
+
+
+ <div id="opens_channel-method" class="method-detail ">
+ <a name="method-i-opens_channel"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">opens_channel</span><span
+ class="method-args">(confirm=true)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Scripts the opening of a channel by adding a local packet sending the
+channel open request, and if <tt>confirm</tt> is true (the default), also
+adding a remote packet confirming the <a
+href="Script.html#method-c-new">new</a> channel.</p>
+
+<p>A <a href="Script.html#method-c-new">new</a> <a
+href="Channel.html">Net::SSH::Test::Channel</a> instance is returned, which
+can be used to script additional channel operations.</p>
+
+
+
+ <div class="method-source-code" id="opens_channel-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/script.rb, line 35</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">opens_channel</span>(<span class="ruby-identifier">confirm</span>=<span class="ruby-keyword">true</span>)
+ <span class="ruby-identifier">channel</span> = <span class="ruby-constant">Channel</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>)
+ <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">remote_id</span> = <span class="ruby-value">5555</span>
+
+ <span class="ruby-identifier">events</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">LocalPacket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:channel_open</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">local_id</span> = <span class="ruby-identifier">p</span>[<span class="ruby-value">:remote_id</span>] }
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">confirm</span>
+ <span class="ruby-identifier">events</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">RemotePacket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:channel_open_confirmation</span>, <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">local_id</span>, <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">remote_id</span>, <span class="ruby-value">0x20000</span>, <span class="ruby-value">0x10000</span>)
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">channel</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- opens_channel-source -->
+
+ </div>
+
+
+
+
+ </div><!-- opens_channel-method -->
+
+
+ <div id="process-method" class="method-detail ">
+ <a name="method-i-process"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">process</span><span
+ class="method-args">(packet)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Compare the given packet against the <a
+href="Script.html#method-i-next">next</a> event in the list. If there is no
+<a href="Script.html#method-i-next">next</a> event, an exception will be
+raised. This is called by <a
+href="Extensions/PacketStream.html#method-i-test_enqueue_packet">Net::SSH::Test::Extensions::PacketStream#test_enqueue_packet</a>.</p>
+
+
+
+ <div class="method-source-code" id="process-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/script.rb, line 151</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">process</span>(<span class="ruby-identifier">packet</span>)
+ <span class="ruby-identifier">event</span> = <span class="ruby-identifier">events</span>.<span class="ruby-identifier">shift</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;end of script reached, but got a packet type #{packet.read_byte}&quot;</span>
+ <span class="ruby-identifier">event</span>.<span class="ruby-identifier">process</span>(<span class="ruby-identifier">packet</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- process-source -->
+
+ </div>
+
+
+
+
+ </div><!-- process-method -->
+
+
+ <div id="sends-method" class="method-detail ">
+ <a name="method-i-sends"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">sends</span><span
+ class="method-args">(type, *args, &block)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>A convenience method for adding an arbitrary local packet to the <a
+href="Script.html#attribute-i-events">events</a> list.</p>
+
+
+
+ <div class="method-source-code" id="sends-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/script.rb, line 50</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">sends</span>(<span class="ruby-identifier">type</span>, *<span class="ruby-identifier">args</span>, &amp;<span class="ruby-identifier">block</span>)
+ <span class="ruby-identifier">events</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">LocalPacket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">type</span>, *<span class="ruby-identifier">args</span>, &amp;<span class="ruby-identifier">block</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- sends-source -->
+
+ </div>
+
+
+
+
+ </div><!-- sends-method -->
+
+
+ <div id="sends_channel_close-method" class="method-detail ">
+ <a name="method-i-sends_channel_close"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">sends_channel_close</span><span
+ class="method-args">(channel)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Scripts the sending of a channel close packet from the given <a
+href="Channel.html">Net::SSH::Test::Channel</a> <tt>channel</tt>. This will
+typically be called via <a
+href="Channel.html#method-i-sends_close">Net::SSH::Test::Channel#sends_close</a>.</p>
+
+
+
+ <div class="method-source-code" id="sends_channel_close-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/script.rb, line 103</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">sends_channel_close</span>(<span class="ruby-identifier">channel</span>)
+ <span class="ruby-identifier">events</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">LocalPacket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:channel_close</span>, <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">remote_id</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- sends_channel_close-source -->
+
+ </div>
+
+
+
+
+ </div><!-- sends_channel_close-method -->
+
+
+ <div id="sends_channel_data-method" class="method-detail ">
+ <a name="method-i-sends_channel_data"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">sends_channel_data</span><span
+ class="method-args">(channel, data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Scripts the sending of a channel data packet. <tt>channel</tt> must be a <a
+href="Channel.html">Net::SSH::Test::Channel</a> object, and <tt>data</tt>
+is the (string) data to expect will be sent.</p>
+
+<p>This will typically be called via <a
+href="Channel.html#method-i-sends_data">Net::SSH::Test::Channel#sends_data</a>.</p>
+
+
+
+ <div class="method-source-code" id="sends_channel_data-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/script.rb, line 89</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">sends_channel_data</span>(<span class="ruby-identifier">channel</span>, <span class="ruby-identifier">data</span>)
+ <span class="ruby-identifier">events</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">LocalPacket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:channel_data</span>, <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">remote_id</span>, <span class="ruby-identifier">data</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- sends_channel_data-source -->
+
+ </div>
+
+
+
+
+ </div><!-- sends_channel_data-method -->
+
+
+ <div id="sends_channel_eof-method" class="method-detail ">
+ <a name="method-i-sends_channel_eof"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">sends_channel_eof</span><span
+ class="method-args">(channel)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Scripts the sending of a channel EOF packet from the given <a
+href="Channel.html">Net::SSH::Test::Channel</a> <tt>channel</tt>. This will
+typically be called via <a
+href="Channel.html#method-i-sends_eof">Net::SSH::Test::Channel#sends_eof</a>.</p>
+
+
+
+ <div class="method-source-code" id="sends_channel_eof-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/script.rb, line 96</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">sends_channel_eof</span>(<span class="ruby-identifier">channel</span>)
+ <span class="ruby-identifier">events</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">LocalPacket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:channel_eof</span>, <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">remote_id</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- sends_channel_eof-source -->
+
+ </div>
+
+
+
+
+ </div><!-- sends_channel_eof-method -->
+
+
+ <div id="sends_channel_request-method" class="method-detail ">
+ <a name="method-i-sends_channel_request"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">sends_channel_request</span><span
+ class="method-args">(channel, request, reply, data, success=true)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Scripts the sending of a <a href="Script.html#method-c-new">new</a> channel
+request packet to the remote host. <tt>channel</tt> should be an instance
+of <a href="Channel.html">Net::SSH::Test::Channel</a>. <tt>request</tt> is
+a string naming the request type to send, <tt>reply</tt> is a boolean
+indicating whether a response to this packet is required , and
+<tt>data</tt> is any additional request-specific data that this packet
+should send. <tt>success</tt> indicates whether the response (if one is
+required) should be success or failure.</p>
+
+<p>If a reply is desired, a remote packet will also be queued,
+:channel_success if <tt>success</tt> is true, or :channel_failure if
+<tt>success</tt> is false.</p>
+
+<p>This will typically be called via <a
+href="Channel.html#method-i-sends_exec">Net::SSH::Test::Channel#sends_exec</a>
+or <a
+href="Channel.html#method-i-sends_subsystem">Net::SSH::Test::Channel#sends_subsystem</a>.</p>
+
+
+
+ <div class="method-source-code" id="sends_channel_request-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/script.rb, line 73</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">sends_channel_request</span>(<span class="ruby-identifier">channel</span>, <span class="ruby-identifier">request</span>, <span class="ruby-identifier">reply</span>, <span class="ruby-identifier">data</span>, <span class="ruby-identifier">success</span>=<span class="ruby-keyword">true</span>)
+ <span class="ruby-identifier">events</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">LocalPacket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:channel_request</span>, <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">remote_id</span>, <span class="ruby-identifier">request</span>, <span class="ruby-identifier">reply</span>, <span class="ruby-identifier">data</span>)
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">reply</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
+ <span class="ruby-identifier">events</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">RemotePacket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:channel_success</span>, <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">local_id</span>)
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">events</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">RemotePacket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:channel_failure</span>, <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">local_id</span>)
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- sends_channel_request-source -->
+
+ </div>
+
+
+
+
+ </div><!-- sends_channel_request-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Test/Socket.html b/Net/SSH/Test/Socket.html
new file mode 100644
index 0000000..d9dc675
--- /dev/null
+++ b/Net/SSH/Test/Socket.html
@@ -0,0 +1,693 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Test::Socket</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/test/socket_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/test/socket.rb">lib/net/ssh/test/socket.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">StringIO</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-getpeername">#getpeername</a></li>
+
+ <li><a href="#method-i-open">#open</a></li>
+
+ <li><a href="#method-i-readpartial">#readpartial</a></li>
+
+ <li><a href="#method-i-recv">#recv</a></li>
+
+ <li><a href="#method-i-write">#write</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Test::Socket</h1>
+
+ <div id="description" class="description">
+
+<p>A mock socket implementation for use in testing. It implements the minimum
+necessary interface for interacting with the rest of the <a
+href="../Test.html">Net::SSH::Test</a> system.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="host-attribute-method" class="method-detail">
+ <a name="host"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">host</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
+ <div id="port-attribute-method" class="method-detail">
+ <a name="port"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">port</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
+ <div id="script-attribute-method" class="method-detail">
+ <a name="script"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">script</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="Script.html">Net::SSH::Test::Script</a> object in use by this
+socket. This is the canonical <a
+href="Socket.html#attribute-i-script">script</a> instance that should be
+used for any test depending on this socket instance.</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Create a <a href="Socket.html#method-c-new">new</a> test socket. This will
+also instantiate a <a href="Socket.html#method-c-new">new</a> <a
+href="Script.html">Net::SSH::Test::Script</a> and seed it with the
+necessary events to power the initialization of the connection.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/socket.rb, line 22</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>
+ <span class="ruby-identifier">extend</span>(<span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Transport</span><span class="ruby-operator">::</span><span class="ruby-constant">PacketStream</span>)
+ <span class="ruby-keyword">super</span> <span class="ruby-string">&quot;SSH-2.0-Test\r\n&quot;</span>
+
+ <span class="ruby-ivar">@script</span> = <span class="ruby-constant">Script</span>.<span class="ruby-identifier">new</span>
+
+ <span class="ruby-identifier">script</span>.<span class="ruby-identifier">gets</span>(<span class="ruby-value">:kexinit</span>, <span class="ruby-value">1</span>, <span class="ruby-value">2</span>, <span class="ruby-value">3</span>, <span class="ruby-value">4</span>, <span class="ruby-string">&quot;test&quot;</span>, <span class="ruby-string">&quot;ssh-rsa&quot;</span>, <span class="ruby-string">&quot;none&quot;</span>, <span class="ruby-string">&quot;none&quot;</span>, <span class="ruby-string">&quot;none&quot;</span>, <span class="ruby-string">&quot;none&quot;</span>, <span class="ruby-string">&quot;none&quot;</span>, <span class="ruby-string">&quot;none&quot;</span>, <span class="ruby-string">&quot;&quot;</span>, <span class="ruby-string">&quot;&quot;</span>, <span class="ruby-keyword">false</span>)
+ <span class="ruby-identifier">script</span>.<span class="ruby-identifier">sends</span>(<span class="ruby-value">:kexinit</span>)
+ <span class="ruby-identifier">script</span>.<span class="ruby-identifier">sends</span>(<span class="ruby-value">:newkeys</span>)
+ <span class="ruby-identifier">script</span>.<span class="ruby-identifier">gets</span>(<span class="ruby-value">:newkeys</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="getpeername-method" class="method-detail ">
+ <a name="method-i-getpeername"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">getpeername</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns a sockaddr struct for the <a
+href="Socket.html#attribute-i-port">port</a> and <a
+href="Socket.html#attribute-i-host">host</a> that were used when the socket
+was instantiated.</p>
+
+
+
+ <div class="method-source-code" id="getpeername-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/socket.rb, line 49</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">getpeername</span>
+ <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span>.<span class="ruby-identifier">sockaddr_in</span>(<span class="ruby-identifier">port</span>, <span class="ruby-identifier">host</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- getpeername-source -->
+
+ </div>
+
+
+
+
+ </div><!-- getpeername-method -->
+
+
+ <div id="open-method" class="method-detail ">
+ <a name="method-i-open"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">open</span><span
+ class="method-args">(host, port)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Allows the socket to also mimic a socket factory, simply returning
+<tt>self</tt>.</p>
+
+
+
+ <div class="method-source-code" id="open-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/socket.rb, line 42</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">port</span>)
+ <span class="ruby-ivar">@host</span>, <span class="ruby-ivar">@port</span> = <span class="ruby-identifier">host</span>, <span class="ruby-identifier">port</span>
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- open-source -->
+
+ </div>
+
+
+
+
+ </div><!-- open-method -->
+
+
+ <div id="readpartial-method" class="method-detail ">
+ <a name="method-i-readpartial"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">readpartial</span><span
+ class="method-args">(n)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="readpartial-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/socket.rb, line 58</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">readpartial</span>(<span class="ruby-identifier">n</span>)
+ <span class="ruby-identifier">recv</span>(<span class="ruby-identifier">n</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- readpartial-source -->
+
+ </div>
+
+
+
+
+ </div><!-- readpartial-method -->
+
+
+ <div id="recv-method" class="method-detail ">
+ <a name="method-i-recv"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">recv</span><span
+ class="method-args">(n)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Alias to #read, but never returns nil (returns an empty string instead).</p>
+
+
+
+ <div class="method-source-code" id="recv-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/socket.rb, line 54</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">recv</span>(<span class="ruby-identifier">n</span>)
+ <span class="ruby-identifier">read</span>(<span class="ruby-identifier">n</span>) <span class="ruby-operator">||</span> <span class="ruby-string">&quot;&quot;</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- recv-source -->
+
+ </div>
+
+
+
+
+ </div><!-- recv-method -->
+
+
+ <div id="write-method" class="method-detail ">
+ <a name="method-i-write"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">write</span><span
+ class="method-args">(data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>This doesn’t actually do anything, since we don’t really care what gets
+written.</p>
+
+
+
+ <div class="method-source-code" id="write-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/test/socket.rb, line 36</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">write</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-comment"># black hole, because we don't actually care about what gets written</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- write-source -->
+
+ </div>
+
+
+
+
+ </div><!-- write-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport.html b/Net/SSH/Transport.html
new file mode 100644
index 0000000..ad82dea
--- /dev/null
+++ b/Net/SSH/Transport.html
@@ -0,0 +1,459 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Transport</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/transport/algorithms_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/algorithms.rb">lib/net/ssh/transport/algorithms.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/transport/cipher_factory_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/cipher_factory.rb">lib/net/ssh/transport/cipher_factory.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/transport/constants_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/constants.rb">lib/net/ssh/transport/constants.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/transport/ctr_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/ctr.rb">lib/net/ssh/transport/ctr.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/transport/hmac/abstract_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/abstract.rb">lib/net/ssh/transport/hmac/abstract.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/transport/identity_cipher_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/identity_cipher.rb">lib/net/ssh/transport/identity_cipher.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/transport/kex/diffie_hellman_group14_sha1_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb">lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/transport/kex/diffie_hellman_group1_sha1_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb">lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/transport/kex/ecdh_sha2_nistp256_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb">lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/transport/kex/ecdh_sha2_nistp384_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb">lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/transport/kex/ecdh_sha2_nistp521_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb">lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/transport/kex_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex.rb">lib/net/ssh/transport/kex.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/transport/key_expander_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/key_expander.rb">lib/net/ssh/transport/key_expander.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/transport/packet_stream_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/packet_stream.rb">lib/net/ssh/transport/packet_stream.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/transport/server_version_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/server_version.rb">lib/net/ssh/transport/server_version.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/transport/session_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/session.rb">lib/net/ssh/transport/session.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/transport/state_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/state.rb">lib/net/ssh/transport/state.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+ <!-- Namespace Contents -->
+ <div id="namespace-list-section" class="section">
+ <h3 class="section-header">Namespace</h3>
+ <ul class="link-list">
+
+ <li><span class="type">MODULE</span> <a href="Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><span class="type">MODULE</span> <a href="Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><span class="type">MODULE</span> <a href="Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><span class="type">MODULE</span> <a href="Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><span class="type">MODULE</span> <a href="Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><span class="type">MODULE</span> <a href="Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ </ul>
+ </div>
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Transport</h1>
+
+ <div id="description" class="description">
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/Algorithms.html b/Net/SSH/Transport/Algorithms.html
new file mode 100644
index 0000000..5c96687
--- /dev/null
+++ b/Net/SSH/Transport/Algorithms.html
@@ -0,0 +1,1000 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::Algorithms</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/transport/algorithms_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/algorithms.rb">lib/net/ssh/transport/algorithms.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-allowed_packet-3F">::allowed_packet?</a></li>
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-5B-5D">#[]</a></li>
+
+ <li><a href="#method-i-accept_kexinit">#accept_kexinit</a></li>
+
+ <li><a href="#method-i-allow-3F">#allow?</a></li>
+
+ <li><a href="#method-i-initialized-3F">#initialized?</a></li>
+
+ <li><a href="#method-i-pending-3F">#pending?</a></li>
+
+ <li><a href="#method-i-rekey-21">#rekey!</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="Constants.html">Net::SSH::Transport::Constants</a></li>
+
+
+
+ <li><a class="include" href="../Loggable.html">Net::SSH::Loggable</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::Algorithms</h1>
+
+ <div id="description" class="description">
+
+<p>Implements the higher-level logic behind an <a
+href="../../SSH.html">SSH</a> key-exchange. It handles both the initial
+exchange, as well as subsequent re-exchanges (as needed). It also
+encapsulates the negotiation of the <a
+href="Algorithms.html#attribute-i-algorithms">algorithms</a>, and provides
+a single point of access to the negotiated <a
+href="Algorithms.html#attribute-i-algorithms">algorithms</a>.</p>
+
+<p>You will never instantiate or reference this directly. It is used
+internally by the transport layer.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="ALGORITHMS">ALGORITHMS</a></dt>
+
+ <dd class="description"><p>Define the default <a
+href="Algorithms.html#attribute-i-algorithms">algorithms</a>, in order of
+preference, supported by <a href="../../SSH.html">Net::SSH</a>.</p></dd>
+
+
+ </dl>
+ </div>
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="algorithms-attribute-method" class="method-detail">
+ <a name="algorithms"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">algorithms</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The hash of <a href="Algorithms.html#attribute-i-algorithms">algorithms</a>
+preferred by the client, which will be told to the server during algorithm
+negotiation.</p>
+
+ </div>
+ </div>
+
+ <div id="compression_client-attribute-method" class="method-detail">
+ <a name="compression_client"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">compression_client</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The type of compression to use to compress packets being sent by the
+client.</p>
+
+ </div>
+ </div>
+
+ <div id="compression_server-attribute-method" class="method-detail">
+ <a name="compression_server"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">compression_server</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The type of compression to use to decompress packets arriving from the
+server.</p>
+
+ </div>
+ </div>
+
+ <div id="encryption_client-attribute-method" class="method-detail">
+ <a name="encryption_client"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">encryption_client</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The type of the cipher to use to encrypt packets sent from the client to
+the server.</p>
+
+ </div>
+ </div>
+
+ <div id="encryption_server-attribute-method" class="method-detail">
+ <a name="encryption_server"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">encryption_server</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The type of the cipher to use to decrypt packets arriving from the server.</p>
+
+ </div>
+ </div>
+
+ <div id="hmac_client-attribute-method" class="method-detail">
+ <a name="hmac_client"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">hmac_client</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The type of <a href="HMAC.html">HMAC</a> to use to sign packets sent by the
+client.</p>
+
+ </div>
+ </div>
+
+ <div id="hmac_server-attribute-method" class="method-detail">
+ <a name="hmac_server"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">hmac_server</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The type of <a href="HMAC.html">HMAC</a> to use to validate packets
+arriving from the server.</p>
+
+ </div>
+ </div>
+
+ <div id="host_key-attribute-method" class="method-detail">
+ <a name="host_key"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">host_key</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The type of host key that will be used for this <a
+href="Algorithms.html#attribute-i-session">session</a>.</p>
+
+ </div>
+ </div>
+
+ <div id="kex-attribute-method" class="method-detail">
+ <a name="kex"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">kex</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="Algorithms.html#attribute-i-kex">kex</a> algorithm to use
+settled on between the client and server.</p>
+
+ </div>
+ </div>
+
+ <div id="language_client-attribute-method" class="method-detail">
+ <a name="language_client"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">language_client</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The language that will be used in messages sent by the client.</p>
+
+ </div>
+ </div>
+
+ <div id="language_server-attribute-method" class="method-detail">
+ <a name="language_server"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">language_server</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The language that will be used in messages sent from the server.</p>
+
+ </div>
+ </div>
+
+ <div id="options-attribute-method" class="method-detail">
+ <a name="options"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">options</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The hash of <a href="Algorithms.html#attribute-i-options">options</a> used
+to initialize this object</p>
+
+ </div>
+ </div>
+
+ <div id="session-attribute-method" class="method-detail">
+ <a name="session"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">session</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The underlying transport layer <a
+href="Algorithms.html#attribute-i-session">session</a> that supports this
+object</p>
+
+ </div>
+ </div>
+
+ <div id="session_id-attribute-method" class="method-detail">
+ <a name="session_id"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">session_id</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="Algorithms.html#attribute-i-session">session</a>-id for this
+<a href="Algorithms.html#attribute-i-session">session</a>, as decided
+during the initial key exchange.</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="allowed_packet-3F-method" class="method-detail ">
+ <a name="method-c-allowed_packet-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">allowed_packet?</span><span
+ class="method-args">(packet)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns true if the given packet can be processed during a key-exchange.</p>
+
+
+
+ <div class="method-source-code" id="allowed_packet-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 105</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">allowed_packet?</span>(<span class="ruby-identifier">packet</span>)
+ ( <span class="ruby-value">1</span><span class="ruby-operator">..</span> <span class="ruby-value">4</span>).<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">packet</span>.<span class="ruby-identifier">type</span>) <span class="ruby-operator">||</span>
+ ( <span class="ruby-value">6</span><span class="ruby-operator">..</span><span class="ruby-value">19</span>).<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">packet</span>.<span class="ruby-identifier">type</span>) <span class="ruby-operator">||</span>
+ (<span class="ruby-value">21</span><span class="ruby-operator">..</span><span class="ruby-value">49</span>).<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">packet</span>.<span class="ruby-identifier">type</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- allowed_packet-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- allowed_packet-3F-method -->
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(session, options={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Instantiates a <a href="Algorithms.html#method-c-new">new</a> <a
+href="Algorithms.html">Algorithms</a> object, and prepares the hash of
+preferred <a href="Algorithms.html#attribute-i-algorithms">algorithms</a>
+based on the <a href="Algorithms.html#attribute-i-options">options</a>
+parameter and the <a href="Algorithms.html#ALGORITHMS">ALGORITHMS</a>
+constant.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 113</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">session</span>, <span class="ruby-identifier">options</span>={})
+ <span class="ruby-ivar">@session</span> = <span class="ruby-identifier">session</span>
+ <span class="ruby-ivar">@logger</span> = <span class="ruby-identifier">session</span>.<span class="ruby-identifier">logger</span>
+ <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
+ <span class="ruby-ivar">@algorithms</span> = {}
+ <span class="ruby-ivar">@pending</span> = <span class="ruby-ivar">@initialized</span> = <span class="ruby-keyword">false</span>
+ <span class="ruby-ivar">@client_packet</span> = <span class="ruby-ivar">@server_packet</span> = <span class="ruby-keyword">nil</span>
+ <span class="ruby-identifier">prepare_preferred_algorithms!</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="5B-5D-method" class="method-detail ">
+ <a name="method-i-5B-5D"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">[]</span><span
+ class="method-args">(key)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>A convenience method for accessing the list of preferred types for a
+specific algorithm (see #<a
+href="Algorithms.html#attribute-i-algorithms">algorithms</a>).</p>
+
+
+
+ <div class="method-source-code" id="5B-5D-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 150</span>
+<span class="ruby-keyword">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">key</span>)
+ <span class="ruby-identifier">algorithms</span>[<span class="ruby-identifier">key</span>]
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- 5B-5D-source -->
+
+ </div>
+
+
+
+
+ </div><!-- 5B-5D-method -->
+
+
+ <div id="accept_kexinit-method" class="method-detail ">
+ <a name="method-i-accept_kexinit"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">accept_kexinit</span><span
+ class="method-args">(packet)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Called by the transport layer when a KEXINIT packet is recieved, indicating
+that the server wants to exchange keys. This can be spontaneous, or it can
+be in response to a client-initiated rekey request (see #<a
+href="Algorithms.html#method-i-rekey-21">rekey!</a>). Either way, this will
+block until the key exchange completes.</p>
+
+
+
+ <div class="method-source-code" id="accept_kexinit-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 137</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">accept_kexinit</span>(<span class="ruby-identifier">packet</span>)
+ <span class="ruby-identifier">info</span> { <span class="ruby-string">&quot;got KEXINIT from server&quot;</span> }
+ <span class="ruby-ivar">@server_data</span> = <span class="ruby-identifier">parse_server_algorithm_packet</span>(<span class="ruby-identifier">packet</span>)
+ <span class="ruby-ivar">@server_packet</span> = <span class="ruby-ivar">@server_data</span>[<span class="ruby-value">:raw</span>]
+ <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">pending?</span>
+ <span class="ruby-identifier">send_kexinit</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">proceed!</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- accept_kexinit-source -->
+
+ </div>
+
+
+
+
+ </div><!-- accept_kexinit-method -->
+
+
+ <div id="allow-3F-method" class="method-detail ">
+ <a name="method-i-allow-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">allow?</span><span
+ class="method-args">(packet)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns true if no exchange is pending, and otherwise returns true or false
+depending on whether the given packet is of a type that is allowed during a
+key exchange.</p>
+
+
+
+ <div class="method-source-code" id="allow-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 166</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">allow?</span>(<span class="ruby-identifier">packet</span>)
+ <span class="ruby-operator">!</span><span class="ruby-identifier">pending?</span> <span class="ruby-operator">||</span> <span class="ruby-constant">Algorithms</span>.<span class="ruby-identifier">allowed_packet?</span>(<span class="ruby-identifier">packet</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- allow-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- allow-3F-method -->
+
+
+ <div id="initialized-3F-method" class="method-detail ">
+ <a name="method-i-initialized-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">initialized?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns true if the <a
+href="Algorithms.html#attribute-i-algorithms">algorithms</a> have been
+negotiated at all.</p>
+
+
+
+ <div class="method-source-code" id="initialized-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 171</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialized?</span>
+ <span class="ruby-ivar">@initialized</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- initialized-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- initialized-3F-method -->
+
+
+ <div id="pending-3F-method" class="method-detail ">
+ <a name="method-i-pending-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">pending?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns <tt>true</tt> if a key-exchange is pending. This will be true from
+the moment either the client or server requests the key exchange, until the
+exchange completes. While an exchange is pending, only a limited number of
+packets are allowed, so event processing essentially stops during this
+period.</p>
+
+
+
+ <div class="method-source-code" id="pending-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 159</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">pending?</span>
+ <span class="ruby-ivar">@pending</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- pending-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- pending-3F-method -->
+
+
+ <div id="rekey-21-method" class="method-detail ">
+ <a name="method-i-rekey-21"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">rekey!</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Request a rekey operation. This will return immediately, and does not
+actually perform the rekey operation. It does cause the <a
+href="Algorithms.html#attribute-i-session">session</a> to change state,
+however–until the key exchange finishes, no <a
+href="Algorithms.html#method-c-new">new</a> packets will be processed.</p>
+
+
+
+ <div class="method-source-code" id="rekey-21-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 127</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">rekey!</span>
+ <span class="ruby-ivar">@client_packet</span> = <span class="ruby-ivar">@server_packet</span> = <span class="ruby-keyword">nil</span>
+ <span class="ruby-ivar">@initialized</span> = <span class="ruby-keyword">false</span>
+ <span class="ruby-identifier">send_kexinit</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- rekey-21-source -->
+
+ </div>
+
+
+
+
+ </div><!-- rekey-21-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/CTR.html b/Net/SSH/Transport/CTR.html
new file mode 100644
index 0000000..5bf6e96
--- /dev/null
+++ b/Net/SSH/Transport/CTR.html
@@ -0,0 +1,514 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Transport::CTR</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/transport/ctr_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/ctr.rb">lib/net/ssh/transport/ctr.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-extended">::extended</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Transport::CTR</h1>
+
+ <div id="description" class="description">
+
+<p>Pure-Ruby implementation of Stateful Decryption Counter(SDCTR) Mode for
+Block Ciphers. See RFC4344 for detail.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="extended-method" class="method-detail ">
+ <a name="method-c-extended"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">extended</span><span
+ class="method-args">(orig)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="extended-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 8</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">extended</span>(<span class="ruby-identifier">orig</span>)
+ <span class="ruby-identifier">orig</span>.<span class="ruby-identifier">instance_eval</span> {
+ <span class="ruby-ivar">@remaining</span> = <span class="ruby-string">&quot;&quot;</span>
+ <span class="ruby-ivar">@counter</span> = <span class="ruby-keyword">nil</span>
+ <span class="ruby-ivar">@counter_len</span> = <span class="ruby-identifier">orig</span>.<span class="ruby-identifier">block_size</span>
+ <span class="ruby-identifier">orig</span>.<span class="ruby-identifier">encrypt</span>
+ <span class="ruby-identifier">orig</span>.<span class="ruby-identifier">padding</span> = <span class="ruby-value">0</span>
+ }
+
+ <span class="ruby-keyword">class</span> <span class="ruby-operator">&lt;&lt;</span><span class="ruby-identifier">orig</span>
+ <span class="ruby-keyword">alias</span> <span class="ruby-value">:_update</span> <span class="ruby-value">:update</span>
+ <span class="ruby-identifier">private</span> <span class="ruby-value">:_update</span>
+ <span class="ruby-keyword">undef</span> <span class="ruby-value">:update</span>
+
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">iv</span>
+ <span class="ruby-ivar">@counter</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">iv_len</span>
+ <span class="ruby-identifier">block_size</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">iv=</span>(<span class="ruby-identifier">iv_s</span>)
+ <span class="ruby-ivar">@counter</span> = <span class="ruby-identifier">iv_s</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@counter</span>.<span class="ruby-identifier">nil?</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">encrypt</span>
+ <span class="ruby-comment"># DO NOTHING (always set to &quot;encrypt&quot;)</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">decrypt</span>
+ <span class="ruby-comment"># DO NOTHING (always set to &quot;encrypt&quot;)</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">padding=</span>(<span class="ruby-identifier">pad</span>)
+ <span class="ruby-comment"># DO NOTHING (always 0)</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">reset</span>
+ <span class="ruby-ivar">@remaining</span> = <span class="ruby-string">&quot;&quot;</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">update</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-ivar">@remaining</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">data</span>
+
+ <span class="ruby-identifier">encrypted</span> = <span class="ruby-string">&quot;&quot;</span>
+
+ <span class="ruby-keyword">while</span> <span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">bytesize</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">block_size</span>
+ <span class="ruby-identifier">encrypted</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">xor!</span>(<span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">slice!</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">block_size</span>),
+ <span class="ruby-identifier">_update</span>(<span class="ruby-ivar">@counter</span>))
+ <span class="ruby-identifier">increment_counter!</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">encrypted</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">final</span>
+ <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">empty?</span>
+ <span class="ruby-identifier">s</span> = <span class="ruby-identifier">xor!</span>(<span class="ruby-ivar">@remaining</span>, <span class="ruby-identifier">_update</span>(<span class="ruby-ivar">@counter</span>))
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">s</span> = <span class="ruby-string">&quot;&quot;</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-ivar">@remaining</span> = <span class="ruby-string">&quot;&quot;</span>
+
+ <span class="ruby-identifier">s</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">private</span>
+
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">xor!</span>(<span class="ruby-identifier">s1</span>, <span class="ruby-identifier">s2</span>)
+ <span class="ruby-identifier">s</span> = []
+ <span class="ruby-identifier">s1</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">'Q*'</span>).<span class="ruby-identifier">zip</span>(<span class="ruby-identifier">s2</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">'Q*'</span>)) {<span class="ruby-operator">|</span><span class="ruby-identifier">a</span>,<span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">a</span><span class="ruby-operator">^</span><span class="ruby-identifier">b</span>) }
+ <span class="ruby-identifier">s</span>.<span class="ruby-identifier">pack</span>(<span class="ruby-string">'Q*'</span>)
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">increment_counter!</span>
+ <span class="ruby-identifier">c</span> = <span class="ruby-ivar">@counter_len</span>
+ <span class="ruby-keyword">while</span> ((<span class="ruby-identifier">c</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>)
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@counter</span>.<span class="ruby-identifier">setbyte</span>(<span class="ruby-identifier">c</span>, (<span class="ruby-ivar">@counter</span>.<span class="ruby-identifier">getbyte</span>(<span class="ruby-identifier">c</span>) <span class="ruby-operator">+</span> <span class="ruby-value">1</span>) &amp; <span class="ruby-value">0xff</span>) <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
+ <span class="ruby-keyword">break</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- extended-source -->
+
+ </div>
+
+
+
+
+ </div><!-- extended-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/CipherFactory.html b/Net/SSH/Transport/CipherFactory.html
new file mode 100644
index 0000000..1e46711
--- /dev/null
+++ b/Net/SSH/Transport/CipherFactory.html
@@ -0,0 +1,564 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::CipherFactory</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/transport/cipher_factory_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/cipher_factory.rb">lib/net/ssh/transport/cipher_factory.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-get">::get</a></li>
+
+ <li><a href="#method-c-get_lengths">::get_lengths</a></li>
+
+ <li><a href="#method-c-supported-3F">::supported?</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::CipherFactory</h1>
+
+ <div id="description" class="description">
+
+<p>Implements a factory of <a href="../../../OpenSSL.html">OpenSSL</a> cipher
+algorithms.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="KEY_LEN_OVERRIDE">KEY_LEN_OVERRIDE</a></dt>
+
+ <dd class="description"><p>Ruby’s <a href="../../../OpenSSL.html">OpenSSL</a> bindings always return a
+key length of 16 for RC4 ciphers resulting in the error:
+OpenSSL::CipherError: key length too short. The following ciphers will
+override this key length.</p></dd>
+
+
+ <dt><a name="SSH_TO_OSSL">SSH_TO_OSSL</a></dt>
+
+ <dd class="description"><p>Maps the <a href="../../SSH.html">SSH</a> name of a cipher to it’s
+corresponding <a href="../../../OpenSSL.html">OpenSSL</a> name</p></dd>
+
+
+ </dl>
+ </div>
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="get-method" class="method-detail ">
+ <a name="method-c-get"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">get</span><span
+ class="method-args">(name, options={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Retrieves a new instance of the named algorithm. The new instance will be
+initialized using an iv and key generated from the given iv, key, shared,
+hash and digester values. Additionally, the cipher will be put into
+encryption or decryption mode, based on the value of the <tt>encrypt</tt>
+parameter.</p>
+
+
+
+ <div class="method-source-code" id="get-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/cipher_factory.rb, line 69</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">options</span>={})
+ <span class="ruby-identifier">ossl_name</span> = <span class="ruby-constant">SSH_TO_OSSL</span>[<span class="ruby-identifier">name</span>] <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>, <span class="ruby-node">&quot;unimplemented cipher `#{name}'&quot;</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-constant">IdentityCipher</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">ossl_name</span> <span class="ruby-operator">==</span> <span class="ruby-string">&quot;none&quot;</span>
+ <span class="ruby-identifier">cipher</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">Cipher</span><span class="ruby-operator">::</span><span class="ruby-constant">Cipher</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">ossl_name</span>)
+
+ <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:encrypt</span>] <span class="ruby-operator">?</span> <span class="ruby-value">:encrypt</span> <span class="ruby-operator">:</span> <span class="ruby-value">:decrypt</span>)
+
+ <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">padding</span> = <span class="ruby-value">0</span>
+
+ <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">extend</span>(<span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Transport</span><span class="ruby-operator">::</span><span class="ruby-constant">CTR</span>) <span class="ruby-keyword">if</span> (<span class="ruby-identifier">name</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/-ctr(@openssh.org)?$/</span>)
+
+ <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">iv</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Transport</span><span class="ruby-operator">::</span><span class="ruby-constant">KeyExpander</span>.<span class="ruby-identifier">expand_key</span>(<span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">iv_len</span>, <span class="ruby-identifier">options</span>[<span class="ruby-value">:iv</span>], <span class="ruby-identifier">options</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">ossl_name</span> <span class="ruby-operator">!=</span> <span class="ruby-string">&quot;rc4&quot;</span>
+
+ <span class="ruby-identifier">key_len</span> = <span class="ruby-constant">KEY_LEN_OVERRIDE</span>[<span class="ruby-identifier">name</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">key_len</span>
+ <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">key_len</span> = <span class="ruby-identifier">key_len</span>
+ <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">key</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Transport</span><span class="ruby-operator">::</span><span class="ruby-constant">KeyExpander</span>.<span class="ruby-identifier">expand_key</span>(<span class="ruby-identifier">key_len</span>, <span class="ruby-identifier">options</span>[<span class="ruby-value">:key</span>], <span class="ruby-identifier">options</span>)
+ <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">update</span>(<span class="ruby-string">&quot; &quot;</span> * <span class="ruby-value">1536</span>) <span class="ruby-keyword">if</span> (<span class="ruby-identifier">ossl_name</span> <span class="ruby-operator">==</span> <span class="ruby-string">&quot;rc4&quot;</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">!=</span> <span class="ruby-string">&quot;arcfour&quot;</span>)
+
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">cipher</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- get-source -->
+
+ </div>
+
+
+
+
+ </div><!-- get-method -->
+
+
+ <div id="get_lengths-method" class="method-detail ">
+ <a name="method-c-get_lengths"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">get_lengths</span><span
+ class="method-args">(name)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns a two-element array containing the [ key-length, block-size ] for
+the named cipher algorithm. If the cipher algorithm is unknown, or is
+“none”, 0 is returned for both elements of the tuple.</p>
+
+
+
+ <div class="method-source-code" id="get_lengths-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/cipher_factory.rb, line 94</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">get_lengths</span>(<span class="ruby-identifier">name</span>)
+ <span class="ruby-identifier">ossl_name</span> = <span class="ruby-constant">SSH_TO_OSSL</span>[<span class="ruby-identifier">name</span>]
+ <span class="ruby-keyword">return</span> [<span class="ruby-value">0</span>, <span class="ruby-value">0</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">ossl_name</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">ossl_name</span> <span class="ruby-operator">==</span> <span class="ruby-string">&quot;none&quot;</span>
+
+ <span class="ruby-identifier">cipher</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">Cipher</span><span class="ruby-operator">::</span><span class="ruby-constant">Cipher</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">ossl_name</span>)
+ <span class="ruby-identifier">key_len</span> = <span class="ruby-constant">KEY_LEN_OVERRIDE</span>[<span class="ruby-identifier">name</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">key_len</span>
+ <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">key_len</span> = <span class="ruby-identifier">key_len</span>
+
+ <span class="ruby-keyword">return</span> [<span class="ruby-identifier">key_len</span>, <span class="ruby-identifier">ossl_name</span><span class="ruby-operator">==</span><span class="ruby-string">&quot;rc4&quot;</span> <span class="ruby-operator">?</span> <span class="ruby-value">8</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">block_size</span>]
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- get_lengths-source -->
+
+ </div>
+
+
+
+
+ </div><!-- get_lengths-method -->
+
+
+ <div id="supported-3F-method" class="method-detail ">
+ <a name="method-c-supported-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">supported?</span><span
+ class="method-args">(name)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns true if the underlying <a href="../../../OpenSSL.html">OpenSSL</a>
+library supports the given cipher, and false otherwise.</p>
+
+
+
+ <div class="method-source-code" id="supported-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/cipher_factory.rb, line 58</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">supported?</span>(<span class="ruby-identifier">name</span>)
+ <span class="ruby-identifier">ossl_name</span> = <span class="ruby-constant">SSH_TO_OSSL</span>[<span class="ruby-identifier">name</span>] <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>, <span class="ruby-node">&quot;unimplemented cipher `#{name}'&quot;</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">ossl_name</span> <span class="ruby-operator">==</span> <span class="ruby-string">&quot;none&quot;</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">Cipher</span>.<span class="ruby-identifier">ciphers</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">ossl_name</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- supported-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- supported-3F-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/Constants.html b/Net/SSH/Transport/Constants.html
new file mode 100644
index 0000000..361bc09
--- /dev/null
+++ b/Net/SSH/Transport/Constants.html
@@ -0,0 +1,447 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Transport::Constants</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/transport/constants_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/constants.rb">lib/net/ssh/transport/constants.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Transport::Constants</h1>
+
+ <div id="description" class="description">
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="DEBUG">DEBUG</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="DISCONNECT">DISCONNECT</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="IGNORE">IGNORE</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="KEXDH_INIT">KEXDH_INIT</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="KEXDH_REPLY">KEXDH_REPLY</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="KEXECDH_INIT">KEXECDH_INIT</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="KEXECDH_REPLY">KEXECDH_REPLY</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="KEXINIT">KEXINIT</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="NEWKEYS">NEWKEYS</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="SERVICE_ACCEPT">SERVICE_ACCEPT</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="SERVICE_REQUEST">SERVICE_REQUEST</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="UNIMPLEMENTED">UNIMPLEMENTED</a></dt>
+
+ <dd class="description"></dd>
+
+
+ </dl>
+ </div>
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/HMAC.html b/Net/SSH/Transport/HMAC.html
new file mode 100644
index 0000000..04bafd8
--- /dev/null
+++ b/Net/SSH/Transport/HMAC.html
@@ -0,0 +1,548 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Transport::HMAC</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/transport/hmac/abstract_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/abstract.rb">lib/net/ssh/transport/hmac/abstract.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/transport/hmac/md5_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/md5.rb">lib/net/ssh/transport/hmac/md5.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/transport/hmac/md5_96_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/md5_96.rb">lib/net/ssh/transport/hmac/md5_96.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/transport/hmac/none_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/none.rb">lib/net/ssh/transport/hmac/none.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/transport/hmac/ripemd160_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/ripemd160.rb">lib/net/ssh/transport/hmac/ripemd160.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/transport/hmac/sha1_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/sha1.rb">lib/net/ssh/transport/hmac/sha1.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/transport/hmac/sha1_96_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/sha1_96.rb">lib/net/ssh/transport/hmac/sha1_96.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/transport/hmac/sha2_256_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/sha2_256.rb">lib/net/ssh/transport/hmac/sha2_256.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/transport/hmac/sha2_256_96_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/sha2_256_96.rb">lib/net/ssh/transport/hmac/sha2_256_96.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/transport/hmac/sha2_512_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/sha2_512.rb">lib/net/ssh/transport/hmac/sha2_512.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/transport/hmac/sha2_512_96_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/sha2_512_96.rb">lib/net/ssh/transport/hmac/sha2_512_96.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/transport/hmac_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac.rb">lib/net/ssh/transport/hmac.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+ <!-- Namespace Contents -->
+ <div id="namespace-list-section" class="section">
+ <h3 class="section-header">Namespace</h3>
+ <ul class="link-list">
+
+ <li><span class="type">CLASS</span> <a href="HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><span class="type">CLASS</span> <a href="HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><span class="type">CLASS</span> <a href="HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><span class="type">CLASS</span> <a href="HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><span class="type">CLASS</span> <a href="HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><span class="type">CLASS</span> <a href="HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><span class="type">CLASS</span> <a href="HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><span class="type">CLASS</span> <a href="HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><span class="type">CLASS</span> <a href="HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><span class="type">CLASS</span> <a href="HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><span class="type">CLASS</span> <a href="HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-get">::get</a></li>
+
+ <li><a href="#method-c-key_length">::key_length</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Transport::HMAC</h1>
+
+ <div id="description" class="description">
+
+<p>Implements a simple factory interface for fetching hmac implementations, or
+for finding the key lengths for hmac implementations.s</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="MAP">MAP</a></dt>
+
+ <dd class="description"><p>The mapping of <a href="../../SSH.html">SSH</a> hmac algorithms to their
+implementations</p></dd>
+
+
+ </dl>
+ </div>
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="get-method" class="method-detail ">
+ <a name="method-c-get"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">get</span><span
+ class="method-args">(name, key="", parameters = {})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Retrieves a new hmac instance of the given <a href="../../SSH.html">SSH</a>
+type (<tt>name</tt>). If <tt>key</tt> is given, the new instance will be
+initialized with that key.</p>
+
+
+
+ <div class="method-source-code" id="get-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/hmac.rb, line 35</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">key</span>=<span class="ruby-string">&quot;&quot;</span>, <span class="ruby-identifier">parameters</span> = {})
+ <span class="ruby-identifier">impl</span> = <span class="ruby-constant">MAP</span>[<span class="ruby-identifier">name</span>] <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;hmac not found: #{name.inspect}&quot;</span>
+ <span class="ruby-identifier">impl</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Transport</span><span class="ruby-operator">::</span><span class="ruby-constant">KeyExpander</span>.<span class="ruby-identifier">expand_key</span>(<span class="ruby-identifier">impl</span>.<span class="ruby-identifier">key_length</span>, <span class="ruby-identifier">key</span>, <span class="ruby-identifier">parameters</span>))
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- get-source -->
+
+ </div>
+
+
+
+
+ </div><!-- get-method -->
+
+
+ <div id="key_length-method" class="method-detail ">
+ <a name="method-c-key_length"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">key_length</span><span
+ class="method-args">(name)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Retrieves the key length for the hmac of the given <a
+href="../../SSH.html">SSH</a> type (<tt>name</tt>).</p>
+
+
+
+ <div class="method-source-code" id="key_length-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/hmac.rb, line 41</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">key_length</span>(<span class="ruby-identifier">name</span>)
+ <span class="ruby-identifier">impl</span> = <span class="ruby-constant">MAP</span>[<span class="ruby-identifier">name</span>] <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;hmac not found: #{name.inspect}&quot;</span>
+ <span class="ruby-identifier">impl</span>.<span class="ruby-identifier">key_length</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- key_length-source -->
+
+ </div>
+
+
+
+
+ </div><!-- key_length-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/HMAC/Abstract.html b/Net/SSH/Transport/HMAC/Abstract.html
new file mode 100644
index 0000000..f5d1bdd
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/Abstract.html
@@ -0,0 +1,774 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::HMAC::Abstract</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/transport/hmac/abstract_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/abstract.rb">lib/net/ssh/transport/hmac/abstract.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-digest_class">::digest_class</a></li>
+
+ <li><a href="#method-c-key_length">::key_length</a></li>
+
+ <li><a href="#method-c-mac_length">::mac_length</a></li>
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-digest">#digest</a></li>
+
+ <li><a href="#method-i-digest_class">#digest_class</a></li>
+
+ <li><a href="#method-i-key-3D">#key=</a></li>
+
+ <li><a href="#method-i-key_length">#key_length</a></li>
+
+ <li><a href="#method-i-mac_length">#mac_length</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::HMAC::Abstract</h1>
+
+ <div id="description" class="description">
+
+<p>The base class of all OpenSSL-based <a href="../HMAC.html">HMAC</a>
+algorithm wrappers.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="key-attribute-method" class="method-detail">
+ <a name="key"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">key</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="Abstract.html#attribute-i-key">key</a> in use for this
+instance.</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="digest_class-method" class="method-detail ">
+ <a name="method-c-digest_class"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">digest_class</span><span
+ class="method-args">(*v)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="digest_class-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 34</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">digest_class</span>(*<span class="ruby-identifier">v</span>)
+ <span class="ruby-ivar">@digest_class</span> = <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-keyword">defined?</span>(<span class="ruby-ivar">@digest_class</span>)
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">empty?</span>
+ <span class="ruby-ivar">@digest_class</span> = <span class="ruby-identifier">superclass</span>.<span class="ruby-identifier">digest_class</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@digest_class</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">superclass</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:digest_class</span>)
+ <span class="ruby-keyword">return</span> <span class="ruby-ivar">@digest_class</span>
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
+ <span class="ruby-ivar">@digest_class</span> = <span class="ruby-identifier">v</span>.<span class="ruby-identifier">first</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;wrong number of arguments (#{v.length} for 1)&quot;</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- digest_class-source -->
+
+ </div>
+
+
+
+
+ </div><!-- digest_class-method -->
+
+
+ <div id="key_length-method" class="method-detail ">
+ <a name="method-c-key_length"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">key_length</span><span
+ class="method-args">(*v)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="key_length-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 10</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">key_length</span>(*<span class="ruby-identifier">v</span>)
+ <span class="ruby-ivar">@key_length</span> = <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-keyword">defined?</span>(<span class="ruby-ivar">@key_length</span>)
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">empty?</span>
+ <span class="ruby-ivar">@key_length</span> = <span class="ruby-identifier">superclass</span>.<span class="ruby-identifier">key_length</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@key_length</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">superclass</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:key_length</span>)
+ <span class="ruby-keyword">return</span> <span class="ruby-ivar">@key_length</span>
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
+ <span class="ruby-ivar">@key_length</span> = <span class="ruby-identifier">v</span>.<span class="ruby-identifier">first</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;wrong number of arguments (#{v.length} for 1)&quot;</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- key_length-source -->
+
+ </div>
+
+
+
+
+ </div><!-- key_length-method -->
+
+
+ <div id="mac_length-method" class="method-detail ">
+ <a name="method-c-mac_length"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">mac_length</span><span
+ class="method-args">(*v)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="mac_length-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 22</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">mac_length</span>(*<span class="ruby-identifier">v</span>)
+ <span class="ruby-ivar">@mac_length</span> = <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-keyword">defined?</span>(<span class="ruby-ivar">@mac_length</span>)
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">empty?</span>
+ <span class="ruby-ivar">@mac_length</span> = <span class="ruby-identifier">superclass</span>.<span class="ruby-identifier">mac_length</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@mac_length</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">superclass</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:mac_length</span>)
+ <span class="ruby-keyword">return</span> <span class="ruby-ivar">@mac_length</span>
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
+ <span class="ruby-ivar">@mac_length</span> = <span class="ruby-identifier">v</span>.<span class="ruby-identifier">first</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;wrong number of arguments (#{v.length} for 1)&quot;</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- mac_length-source -->
+
+ </div>
+
+
+
+
+ </div><!-- mac_length-method -->
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(key=nil)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 62</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">key</span>=<span class="ruby-keyword">nil</span>)
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">key</span> = <span class="ruby-identifier">key</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="digest-method" class="method-detail ">
+ <a name="method-i-digest"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">digest</span><span
+ class="method-args">(data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Compute the <a href="../HMAC.html">HMAC</a> <a
+href="Abstract.html#method-i-digest">digest</a> for the given data string.</p>
+
+
+
+ <div class="method-source-code" id="digest-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 73</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">digest</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">HMAC</span>.<span class="ruby-identifier">digest</span>(<span class="ruby-identifier">digest_class</span>.<span class="ruby-identifier">new</span>, <span class="ruby-identifier">key</span>, <span class="ruby-identifier">data</span>)[<span class="ruby-value">0</span>,<span class="ruby-identifier">mac_length</span>]
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- digest-source -->
+
+ </div>
+
+
+
+
+ </div><!-- digest-method -->
+
+
+ <div id="digest_class-method" class="method-detail ">
+ <a name="method-i-digest_class"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">digest_class</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="digest_class-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 55</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">digest_class</span>
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">digest_class</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- digest_class-source -->
+
+ </div>
+
+
+
+
+ </div><!-- digest_class-method -->
+
+
+ <div id="key-3D-method" class="method-detail ">
+ <a name="method-i-key-3D"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">key=</span><span
+ class="method-args">(value)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Sets the <a href="Abstract.html#attribute-i-key">key</a> to the given
+value, truncating it so that it is the correct length.</p>
+
+
+
+ <div class="method-source-code" id="key-3D-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 68</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">key=</span>(<span class="ruby-identifier">value</span>)
+ <span class="ruby-ivar">@key</span> = <span class="ruby-identifier">value</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">to_s</span>[<span class="ruby-value">0</span>,<span class="ruby-identifier">key_length</span>] <span class="ruby-operator">:</span> <span class="ruby-keyword">nil</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- key-3D-source -->
+
+ </div>
+
+
+
+
+ </div><!-- key-3D-method -->
+
+
+ <div id="key_length-method" class="method-detail ">
+ <a name="method-i-key_length"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">key_length</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="key_length-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 47</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">key_length</span>
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">key_length</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- key_length-source -->
+
+ </div>
+
+
+
+
+ </div><!-- key_length-method -->
+
+
+ <div id="mac_length-method" class="method-detail ">
+ <a name="method-i-mac_length"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">mac_length</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="mac_length-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 51</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">mac_length</span>
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">mac_length</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- mac_length-source -->
+
+ </div>
+
+
+
+
+ </div><!-- mac_length-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/HMAC/MD5.html b/Net/SSH/Transport/HMAC/MD5.html
new file mode 100644
index 0000000..72b4845
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/MD5.html
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::HMAC::MD5</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/transport/hmac/md5_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/md5.rb">lib/net/ssh/transport/hmac/md5.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::HMAC::MD5</h1>
+
+ <div id="description" class="description">
+
+<p>The <a href="MD5.html">MD5</a> <a href="../HMAC.html">HMAC</a> algorithm.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/HMAC/MD5_96.html b/Net/SSH/Transport/HMAC/MD5_96.html
new file mode 100644
index 0000000..b1fd6be
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/MD5_96.html
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::HMAC::MD5_96</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/transport/hmac/md5_96_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/md5_96.rb">lib/net/ssh/transport/hmac/md5_96.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="MD5.html">Net::SSH::Transport::HMAC::MD5</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::HMAC::MD5_96</h1>
+
+ <div id="description" class="description">
+
+<p>The MD5-96 <a href="../HMAC.html">HMAC</a> algorithm. This returns only the
+first 12 bytes of the digest.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/HMAC/None.html b/Net/SSH/Transport/HMAC/None.html
new file mode 100644
index 0000000..03d2ca9
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/None.html
@@ -0,0 +1,438 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::HMAC::None</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/transport/hmac/none_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/none.rb">lib/net/ssh/transport/hmac/none.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-digest">#digest</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::HMAC::None</h1>
+
+ <div id="description" class="description">
+
+<p>The “none” algorithm. This has a key and mac length of 0.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="digest-method" class="method-detail ">
+ <a name="method-i-digest"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">digest</span><span
+ class="method-args">(data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="digest-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/hmac/none.rb, line 10</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">digest</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-string">&quot;&quot;</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- digest-source -->
+
+ </div>
+
+
+
+
+ </div><!-- digest-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/HMAC/RIPEMD160.html b/Net/SSH/Transport/HMAC/RIPEMD160.html
new file mode 100644
index 0000000..21a18ca
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/RIPEMD160.html
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::HMAC::RIPEMD160</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/transport/hmac/ripemd160_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/ripemd160.rb">lib/net/ssh/transport/hmac/ripemd160.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::HMAC::RIPEMD160</h1>
+
+ <div id="description" class="description">
+
+<p>The RIPEMD-160 <a href="../HMAC.html">HMAC</a> algorithm. This has a mac
+and key length of 20, and uses the RIPEMD-160 digest algorithm.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/HMAC/SHA1.html b/Net/SSH/Transport/HMAC/SHA1.html
new file mode 100644
index 0000000..ad523fd
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/SHA1.html
@@ -0,0 +1,391 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::HMAC::SHA1</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/transport/hmac/sha1_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/sha1.rb">lib/net/ssh/transport/hmac/sha1.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::HMAC::SHA1</h1>
+
+ <div id="description" class="description">
+
+<p>The <a href="SHA1.html">SHA1</a> <a href="../HMAC.html">HMAC</a> algorithm.
+This has a mac and key length of 20, and uses the <a
+href="SHA1.html">SHA1</a> digest algorithm.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/HMAC/SHA1_96.html b/Net/SSH/Transport/HMAC/SHA1_96.html
new file mode 100644
index 0000000..56aa1ff
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/SHA1_96.html
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::HMAC::SHA1_96</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/transport/hmac/sha1_96_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/sha1_96.rb">lib/net/ssh/transport/hmac/sha1_96.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::HMAC::SHA1_96</h1>
+
+ <div id="description" class="description">
+
+<p>The SHA1-96 <a href="../HMAC.html">HMAC</a> algorithm. This returns only
+the first 12 bytes of the digest.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/HMAC/SHA2_256.html b/Net/SSH/Transport/HMAC/SHA2_256.html
new file mode 100644
index 0000000..a53c373
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/SHA2_256.html
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::HMAC::SHA2_256</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/transport/hmac/sha2_256_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/sha2_256.rb">lib/net/ssh/transport/hmac/sha2_256.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::HMAC::SHA2_256</h1>
+
+ <div id="description" class="description">
+
+<p>The SHA-256 <a href="../HMAC.html">HMAC</a> algorithm. This has a mac and
+key length of 32, and uses the SHA-256 digest algorithm.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/HMAC/SHA2_256_96.html b/Net/SSH/Transport/HMAC/SHA2_256_96.html
new file mode 100644
index 0000000..a822a0e
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/SHA2_256_96.html
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::HMAC::SHA2_256_96</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/transport/hmac/sha2_256_96_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/sha2_256_96.rb">lib/net/ssh/transport/hmac/sha2_256_96.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::HMAC::SHA2_256_96</h1>
+
+ <div id="description" class="description">
+
+<p>The SHA256-96 <a href="../HMAC.html">HMAC</a> algorithm. This returns only
+the first 12 bytes of the digest.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/HMAC/SHA2_512.html b/Net/SSH/Transport/HMAC/SHA2_512.html
new file mode 100644
index 0000000..52d10e9
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/SHA2_512.html
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::HMAC::SHA2_512</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/transport/hmac/sha2_512_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/sha2_512.rb">lib/net/ssh/transport/hmac/sha2_512.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::HMAC::SHA2_512</h1>
+
+ <div id="description" class="description">
+
+<p>The SHA-512 <a href="../HMAC.html">HMAC</a> algorithm. This has a mac and
+key length of 64, and uses the SHA-512 digest algorithm.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/HMAC/SHA2_512_96.html b/Net/SSH/Transport/HMAC/SHA2_512_96.html
new file mode 100644
index 0000000..b7c7af4
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/SHA2_512_96.html
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::HMAC::SHA2_512_96</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/transport/hmac/sha2_512_96_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/hmac/sha2_512_96.rb">lib/net/ssh/transport/hmac/sha2_512_96.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::HMAC::SHA2_512_96</h1>
+
+ <div id="description" class="description">
+
+<p>The SHA2-512-96 <a href="../HMAC.html">HMAC</a> algorithm. This returns
+only the first 12 bytes of the digest.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/IdentityCipher.html b/Net/SSH/Transport/IdentityCipher.html
new file mode 100644
index 0000000..6d22027
--- /dev/null
+++ b/Net/SSH/Transport/IdentityCipher.html
@@ -0,0 +1,721 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::IdentityCipher</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/transport/identity_cipher_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/identity_cipher.rb">lib/net/ssh/transport/identity_cipher.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-block_size">::block_size</a></li>
+
+ <li><a href="#method-c-decrypt">::decrypt</a></li>
+
+ <li><a href="#method-c-encrypt">::encrypt</a></li>
+
+ <li><a href="#method-c-final">::final</a></li>
+
+ <li><a href="#method-c-iv-3D">::iv=</a></li>
+
+ <li><a href="#method-c-iv_len">::iv_len</a></li>
+
+ <li><a href="#method-c-name">::name</a></li>
+
+ <li><a href="#method-c-reset">::reset</a></li>
+
+ <li><a href="#method-c-update">::update</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::IdentityCipher</h1>
+
+ <div id="description" class="description">
+
+<p>A cipher that does nothing but pass the data through, unchanged. This keeps
+things in the code nice and clean when a cipher has not yet been determined
+(i.e., during key exchange).</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="block_size-method" class="method-detail ">
+ <a name="method-c-block_size"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">block_size</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>A default block size of 8 is required by the SSH2 protocol.</p>
+
+
+
+ <div class="method-source-code" id="block_size-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 9</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">block_size</span>
+ <span class="ruby-value">8</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- block_size-source -->
+
+ </div>
+
+
+
+
+ </div><!-- block_size-method -->
+
+
+ <div id="decrypt-method" class="method-detail ">
+ <a name="method-c-decrypt"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">decrypt</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Does nothing. Returns self.</p>
+
+
+
+ <div class="method-source-code" id="decrypt-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 24</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">decrypt</span>
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- decrypt-source -->
+
+ </div>
+
+
+
+
+ </div><!-- decrypt-method -->
+
+
+ <div id="encrypt-method" class="method-detail ">
+ <a name="method-c-encrypt"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">encrypt</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Does nothing. Returns self.</p>
+
+
+
+ <div class="method-source-code" id="encrypt-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 19</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">encrypt</span>
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- encrypt-source -->
+
+ </div>
+
+
+
+
+ </div><!-- encrypt-method -->
+
+
+ <div id="final-method" class="method-detail ">
+ <a name="method-c-final"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">final</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns the empty string.</p>
+
+
+
+ <div class="method-source-code" id="final-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 34</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">final</span>
+ <span class="ruby-string">&quot;&quot;</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- final-source -->
+
+ </div>
+
+
+
+
+ </div><!-- final-method -->
+
+
+ <div id="iv-3D-method" class="method-detail ">
+ <a name="method-c-iv-3D"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">iv=</span><span
+ class="method-args">(v)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Does nothing. Returns nil.</p>
+
+
+
+ <div class="method-source-code" id="iv-3D-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 44</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">iv=</span>(<span class="ruby-identifier">v</span>)
+ <span class="ruby-keyword">nil</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- iv-3D-source -->
+
+ </div>
+
+
+
+
+ </div><!-- iv-3D-method -->
+
+
+ <div id="iv_len-method" class="method-detail ">
+ <a name="method-c-iv_len"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">iv_len</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns an arbitrary integer.</p>
+
+
+
+ <div class="method-source-code" id="iv_len-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 14</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">iv_len</span>
+ <span class="ruby-value">4</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- iv_len-source -->
+
+ </div>
+
+
+
+
+ </div><!-- iv_len-method -->
+
+
+ <div id="name-method" class="method-detail ">
+ <a name="method-c-name"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">name</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>The <a href="IdentityCipher.html#method-c-name">name</a> of this cipher,
+which is “identity”.</p>
+
+
+
+ <div class="method-source-code" id="name-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 39</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">name</span>
+ <span class="ruby-string">&quot;identity&quot;</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- name-source -->
+
+ </div>
+
+
+
+
+ </div><!-- name-method -->
+
+
+ <div id="reset-method" class="method-detail ">
+ <a name="method-c-reset"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">reset</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Does nothing. Returns self.</p>
+
+
+
+ <div class="method-source-code" id="reset-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 49</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">reset</span>
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- reset-source -->
+
+ </div>
+
+
+
+
+ </div><!-- reset-method -->
+
+
+ <div id="update-method" class="method-detail ">
+ <a name="method-c-update"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">update</span><span
+ class="method-args">(text)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Passes its single argument through unchanged.</p>
+
+
+
+ <div class="method-source-code" id="update-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 29</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">update</span>(<span class="ruby-identifier">text</span>)
+ <span class="ruby-identifier">text</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- update-source -->
+
+ </div>
+
+
+
+
+ </div><!-- update-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/Kex.html b/Net/SSH/Transport/Kex.html
new file mode 100644
index 0000000..b8c66ea
--- /dev/null
+++ b/Net/SSH/Transport/Kex.html
@@ -0,0 +1,436 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Transport::Kex</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/transport/kex/diffie_hellman_group14_sha1_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb">lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/transport/kex/diffie_hellman_group1_sha1_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb">lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb">lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha256_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha256.rb">lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha256.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/transport/kex/ecdh_sha2_nistp256_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb">lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/transport/kex/ecdh_sha2_nistp384_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb">lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/transport/kex/ecdh_sha2_nistp521_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb">lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb</a></li>
+
+ <li><a href="../../../lib/net/ssh/transport/kex_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex.rb">lib/net/ssh/transport/kex.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+ <!-- Namespace Contents -->
+ <div id="namespace-list-section" class="section">
+ <h3 class="section-header">Namespace</h3>
+ <ul class="link-list">
+
+ <li><span class="type">CLASS</span> <a href="Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ </ul>
+ </div>
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Transport::Kex</h1>
+
+ <div id="description" class="description">
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="MAP">MAP</a></dt>
+
+ <dd class="description"><p>Maps the supported key-exchange algorithms as named by the <a
+href="../../SSH.html">SSH</a> protocol to their corresponding implementors.</p></dd>
+
+
+ </dl>
+ </div>
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html b/Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html
new file mode 100644
index 0000000..3a5f196
--- /dev/null
+++ b/Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html
@@ -0,0 +1,430 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/transport/kex/diffie_hellman_group14_sha1_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb">lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">DiffieHellmanGroup1SHA1</p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="../Constants.html">Net::SSH::Transport::Constants</a></li>
+
+
+
+ <li><a class="include" href="../../Loggable.html">Net::SSH::Loggable</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</h1>
+
+ <div id="description" class="description">
+
+<p>A key-exchange service implementing the “diffie-hellman-group14-sha1”
+key-exchange algorithm. (defined in RFC 4253)</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="G">G</a></dt>
+
+ <dd class="description"><p>The group constant</p></dd>
+
+
+ <dt><a name="P_r">P_r</a></dt>
+
+ <dd class="description"><p>The radix in which <a href="DiffieHellmanGroup14SHA1.html#P_s">P_s</a>
+represents the value of P</p></dd>
+
+
+ <dt><a name="P_s">P_s</a></dt>
+
+ <dd class="description"><p>The value of ‘P’, as a string, in hexadecimal</p></dd>
+
+
+ </dl>
+ </div>
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html b/Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html
new file mode 100644
index 0000000..f2a09f4
--- /dev/null
+++ b/Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html
@@ -0,0 +1,668 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/transport/kex/diffie_hellman_group1_sha1_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb">lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-exchange_keys">#exchange_keys</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="../Constants.html">Net::SSH::Transport::Constants</a></li>
+
+
+
+ <li><a class="include" href="../../Loggable.html">Net::SSH::Loggable</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</h1>
+
+ <div id="description" class="description">
+
+<p>A key-exchange service implementing the “diffie-hellman-group1-sha1”
+key-exchange algorithm.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="G">G</a></dt>
+
+ <dd class="description"><p>The group constant</p></dd>
+
+
+ <dt><a name="P_r">P_r</a></dt>
+
+ <dd class="description"><p>The radix in which <a href="DiffieHellmanGroup1SHA1.html#P_s">P_s</a>
+represents the value of P</p></dd>
+
+
+ <dt><a name="P_s">P_s</a></dt>
+
+ <dd class="description"><p>The value of ‘P’, as a string, in hexadecimal</p></dd>
+
+
+ </dl>
+ </div>
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="algorithms-attribute-method" class="method-detail">
+ <a name="algorithms"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">algorithms</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
+ <div id="connection-attribute-method" class="method-detail">
+ <a name="connection"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">connection</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
+ <div id="data-attribute-method" class="method-detail">
+ <a name="data"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">data</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
+ <div id="dh-attribute-method" class="method-detail">
+ <a name="dh"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">dh</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
+ <div id="digester-attribute-method" class="method-detail">
+ <a name="digester"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">digester</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
+ <div id="g-attribute-method" class="method-detail">
+ <a name="g"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">g</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
+ <div id="p-attribute-method" class="method-detail">
+ <a name="p"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">p</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(algorithms, connection, data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Create a <a href="DiffieHellmanGroup1SHA1.html#method-c-new">new</a>
+instance of the <a
+href="DiffieHellmanGroup1SHA1.html">DiffieHellmanGroup1SHA1</a> algorithm.
+The <a href="DiffieHellmanGroup1SHA1.html#attribute-i-data">data</a> is a
+Hash of symbols representing information required by this algorithm, which
+was acquired during earlier processing.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb, line 42</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">algorithms</span>, <span class="ruby-identifier">connection</span>, <span class="ruby-identifier">data</span>)
+ <span class="ruby-ivar">@p</span> = <span class="ruby-identifier">get_p</span>
+ <span class="ruby-ivar">@g</span> = <span class="ruby-identifier">get_g</span>
+
+ <span class="ruby-ivar">@digester</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">SHA1</span>
+ <span class="ruby-ivar">@algorithms</span> = <span class="ruby-identifier">algorithms</span>
+ <span class="ruby-ivar">@connection</span> = <span class="ruby-identifier">connection</span>
+
+ <span class="ruby-ivar">@data</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">dup</span>
+ <span class="ruby-ivar">@dh</span> = <span class="ruby-identifier">generate_key</span>
+ <span class="ruby-ivar">@logger</span> = <span class="ruby-ivar">@data</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:logger</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="exchange_keys-method" class="method-detail ">
+ <a name="method-i-exchange_keys"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">exchange_keys</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Perform the key-exchange for the given session, with the given <a
+href="DiffieHellmanGroup1SHA1.html#attribute-i-data">data</a>. This method
+will return a hash consisting of the following keys:</p>
+<ul><li>
+<p>:session_id</p>
+</li><li>
+<p>:server_key</p>
+</li><li>
+<p>:shared_secret</p>
+</li><li>
+<p>:hashing_algorithm</p>
+</li></ul>
+
+<p>The caller is expected to be able to understand how to use these
+deliverables.</p>
+
+
+
+ <div class="method-source-code" id="exchange_keys-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb, line 66</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">exchange_keys</span>
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">send_kexinit</span>
+ <span class="ruby-identifier">verify_server_key</span>(<span class="ruby-identifier">result</span>[<span class="ruby-value">:server_key</span>])
+ <span class="ruby-identifier">session_id</span> = <span class="ruby-identifier">verify_signature</span>(<span class="ruby-identifier">result</span>)
+ <span class="ruby-identifier">confirm_newkeys</span>
+
+ <span class="ruby-keyword">return</span> { <span class="ruby-value">:session_id</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">session_id</span>,
+ <span class="ruby-value">:server_key</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">result</span>[<span class="ruby-value">:server_key</span>],
+ <span class="ruby-value">:shared_secret</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">result</span>[<span class="ruby-value">:shared_secret</span>],
+ <span class="ruby-value">:hashing_algorithm</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">digester</span> }
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- exchange_keys-source -->
+
+ </div>
+
+
+
+
+ </div><!-- exchange_keys-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html b/Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html
new file mode 100644
index 0000000..8e7f9b1
--- /dev/null
+++ b/Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html
@@ -0,0 +1,428 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb">lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></p>
+
+ </div>
+
+
+
+
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</h1>
+
+ <div id="description" class="description">
+
+<p>A key-exchange service implementing the
+“diffie-hellman-group-exchange-sha1” key-exchange algorithm.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="KEXDH_GEX_GROUP">KEXDH_GEX_GROUP</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="KEXDH_GEX_INIT">KEXDH_GEX_INIT</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="KEXDH_GEX_REPLY">KEXDH_GEX_REPLY</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="KEXDH_GEX_REQUEST">KEXDH_GEX_REQUEST</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="MAXIMUM_BITS">MAXIMUM_BITS</a></dt>
+
+ <dd class="description"></dd>
+
+
+ <dt><a name="MINIMUM_BITS">MINIMUM_BITS</a></dt>
+
+ <dd class="description"></dd>
+
+
+ </dl>
+ </div>
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html b/Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html
new file mode 100644
index 0000000..954da77
--- /dev/null
+++ b/Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html
@@ -0,0 +1,441 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha256_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha256.rb">lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha256.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</h1>
+
+ <div id="description" class="description">
+
+<p>A key-exchange service implementing the
+“diffie-hellman-group-exchange-sha256” key-exchange algorithm.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(*args)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha256.rb, line 8</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(*<span class="ruby-identifier">args</span>)
+ <span class="ruby-keyword">super</span>(*<span class="ruby-identifier">args</span>)
+
+ <span class="ruby-ivar">@digester</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">SHA256</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/Kex/EcdhSHA2NistP256.html b/Net/SSH/Transport/Kex/EcdhSHA2NistP256.html
new file mode 100644
index 0000000..f37d5c5
--- /dev/null
+++ b/Net/SSH/Transport/Kex/EcdhSHA2NistP256.html
@@ -0,0 +1,560 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::Kex::EcdhSHA2NistP256</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/transport/kex/ecdh_sha2_nistp256_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb">lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-curve_name">#curve_name</a></li>
+
+ <li><a href="#method-i-digester">#digester</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="../Constants.html">Net::SSH::Transport::Constants</a></li>
+
+
+
+ <li><a class="include" href="../../Loggable.html">Net::SSH::Loggable</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::Kex::EcdhSHA2NistP256</h1>
+
+ <div id="description" class="description">
+
+<p>A key-exchange service implementing the “<a
+href="EcdhSHA2NistP256.html#attribute-i-ecdh">ecdh</a>-sha2-nistp256”
+key-exchange algorithm. (defined in RFC 5656)</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="ecdh-attribute-method" class="method-detail">
+ <a name="ecdh"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">ecdh</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(algorithms, connection, data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb, line 21</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">algorithms</span>, <span class="ruby-identifier">connection</span>, <span class="ruby-identifier">data</span>)
+ <span class="ruby-ivar">@algorithms</span> = <span class="ruby-identifier">algorithms</span>
+ <span class="ruby-ivar">@connection</span> = <span class="ruby-identifier">connection</span>
+
+ <span class="ruby-ivar">@digester</span> = <span class="ruby-identifier">digester</span>
+ <span class="ruby-ivar">@data</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">dup</span>
+ <span class="ruby-ivar">@ecdh</span> = <span class="ruby-identifier">generate_key</span>
+ <span class="ruby-ivar">@logger</span> = <span class="ruby-ivar">@data</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:logger</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="curve_name-method" class="method-detail ">
+ <a name="method-i-curve_name"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">curve_name</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="curve_name-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb, line 17</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">curve_name</span>
+ <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">EC</span><span class="ruby-operator">::</span><span class="ruby-constant">CurveNameAlias</span>[<span class="ruby-string">'nistp256'</span>]
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- curve_name-source -->
+
+ </div>
+
+
+
+
+ </div><!-- curve_name-method -->
+
+
+ <div id="digester-method" class="method-detail ">
+ <a name="method-i-digester"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">digester</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="digester-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb, line 13</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">digester</span>
+ <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">SHA256</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- digester-source -->
+
+ </div>
+
+
+
+
+ </div><!-- digester-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/Kex/EcdhSHA2NistP384.html b/Net/SSH/Transport/Kex/EcdhSHA2NistP384.html
new file mode 100644
index 0000000..cbf0c78
--- /dev/null
+++ b/Net/SSH/Transport/Kex/EcdhSHA2NistP384.html
@@ -0,0 +1,474 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::Kex::EcdhSHA2NistP384</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/transport/kex/ecdh_sha2_nistp384_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb">lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-curve_name">#curve_name</a></li>
+
+ <li><a href="#method-i-digester">#digester</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::Kex::EcdhSHA2NistP384</h1>
+
+ <div id="description" class="description">
+
+<p>A key-exchange service implementing the “ecdh-sha2-nistp256” key-exchange
+algorithm. (defined in RFC 5656)</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="curve_name-method" class="method-detail ">
+ <a name="method-i-curve_name"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">curve_name</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="curve_name-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb, line 9</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">curve_name</span>
+ <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">EC</span><span class="ruby-operator">::</span><span class="ruby-constant">CurveNameAlias</span>[<span class="ruby-string">'nistp384'</span>]
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- curve_name-source -->
+
+ </div>
+
+
+
+
+ </div><!-- curve_name-method -->
+
+
+ <div id="digester-method" class="method-detail ">
+ <a name="method-i-digester"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">digester</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="digester-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb, line 6</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">digester</span>
+ <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">SHA384</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- digester-source -->
+
+ </div>
+
+
+
+
+ </div><!-- digester-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/Kex/EcdhSHA2NistP521.html b/Net/SSH/Transport/Kex/EcdhSHA2NistP521.html
new file mode 100644
index 0000000..7208735
--- /dev/null
+++ b/Net/SSH/Transport/Kex/EcdhSHA2NistP521.html
@@ -0,0 +1,474 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::Kex::EcdhSHA2NistP521</title>
+
+ <link rel="stylesheet" href="../../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../../index.html">Home</a>
+ <a href="../../../../index.html#classes">Classes</a>
+ <a href="../../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../../lib/net/ssh/transport/kex/ecdh_sha2_nistp521_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb">lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-curve_name">#curve_name</a></li>
+
+ <li><a href="#method-i-digester">#digester</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../../Net.html">Net</a></li>
+
+ <li><a href="../../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::Kex::EcdhSHA2NistP521</h1>
+
+ <div id="description" class="description">
+
+<p>A key-exchange service implementing the “ecdh-sha2-nistp521” key-exchange
+algorithm. (defined in RFC 5656)</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="curve_name-method" class="method-detail ">
+ <a name="method-i-curve_name"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">curve_name</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="curve_name-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb, line 9</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">curve_name</span>
+ <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">EC</span><span class="ruby-operator">::</span><span class="ruby-constant">CurveNameAlias</span>[<span class="ruby-string">'nistp521'</span>]
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- curve_name-source -->
+
+ </div>
+
+
+
+
+ </div><!-- curve_name-method -->
+
+
+ <div id="digester-method" class="method-detail ">
+ <a name="method-i-digester"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">digester</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="digester-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb, line 6</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">digester</span>
+ <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">SHA512</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- digester-source -->
+
+ </div>
+
+
+
+
+ </div><!-- digester-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/KeyExpander.html b/Net/SSH/Transport/KeyExpander.html
new file mode 100644
index 0000000..ea2a31e
--- /dev/null
+++ b/Net/SSH/Transport/KeyExpander.html
@@ -0,0 +1,445 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Transport::KeyExpander</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/transport/key_expander_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/key_expander.rb">lib/net/ssh/transport/key_expander.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-expand_key">::expand_key</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Transport::KeyExpander</h1>
+
+ <div id="description" class="description">
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="expand_key-method" class="method-detail ">
+ <a name="method-c-expand_key"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">expand_key</span><span
+ class="method-args">(bytes, start, options={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Generate a key value in accordance with the SSH2 specification. (RFC4253
+7.2. “Output from Key Exchange”)</p>
+
+
+
+ <div class="method-source-code" id="expand_key-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/key_expander.rb, line 6</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">expand_key</span>(<span class="ruby-identifier">bytes</span>, <span class="ruby-identifier">start</span>, <span class="ruby-identifier">options</span>={})
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">bytes</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-string">&quot;&quot;</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">k</span> = <span class="ruby-identifier">start</span>[<span class="ruby-value">0</span>, <span class="ruby-identifier">bytes</span>]
+
+ <span class="ruby-identifier">digester</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:digester</span>] <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-string">'No digester supplied'</span>
+ <span class="ruby-identifier">shared</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:shared</span>] <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-string">'No shared secret supplied'</span>
+ <span class="ruby-identifier">hash</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:hash</span>] <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-string">'No hash supplied'</span>
+
+ <span class="ruby-keyword">while</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">bytes</span>
+ <span class="ruby-identifier">step</span> = <span class="ruby-identifier">digester</span>.<span class="ruby-identifier">digest</span>(<span class="ruby-identifier">shared</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">hash</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">k</span>)
+ <span class="ruby-identifier">bytes_needed</span> = <span class="ruby-identifier">bytes</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">length</span>
+ <span class="ruby-identifier">k</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">step</span>[<span class="ruby-value">0</span>, <span class="ruby-identifier">bytes_needed</span>]
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">k</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- expand_key-source -->
+
+ </div>
+
+
+
+
+ </div><!-- expand_key-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/PacketStream.html b/Net/SSH/Transport/PacketStream.html
new file mode 100644
index 0000000..8e3cf4c
--- /dev/null
+++ b/Net/SSH/Transport/PacketStream.html
@@ -0,0 +1,1018 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Transport::PacketStream</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/transport/packet_stream_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/packet_stream.rb">lib/net/ssh/transport/packet_stream.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-extended">::extended</a></li>
+
+ <li><a href="#method-i-available_for_read-3F">#available_for_read?</a></li>
+
+ <li><a href="#method-i-cleanup">#cleanup</a></li>
+
+ <li><a href="#method-i-client_name">#client_name</a></li>
+
+ <li><a href="#method-i-enqueue_packet">#enqueue_packet</a></li>
+
+ <li><a href="#method-i-if_needs_rekey-3F">#if_needs_rekey?</a></li>
+
+ <li><a href="#method-i-initialize_ssh">#initialize_ssh</a></li>
+
+ <li><a href="#method-i-next_packet">#next_packet</a></li>
+
+ <li><a href="#method-i-peer_ip">#peer_ip</a></li>
+
+ <li><a href="#method-i-poll_next_packet">#poll_next_packet</a></li>
+
+ <li><a href="#method-i-send_packet">#send_packet</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="../BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Transport::PacketStream</h1>
+
+ <div id="description" class="description">
+
+<p>A module that builds additional functionality onto the <a
+href="../BufferedIo.html">Net::SSH::BufferedIo</a> module. It adds <a
+href="../../SSH.html">SSH</a> encryption, compression, and packet
+validation, as per the SSH2 protocol. It also adds an abstraction for
+polling packets, to allow for both blocking and non-blocking reads.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="client-attribute-method" class="method-detail">
+ <a name="client"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">client</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="PacketStream.html#attribute-i-client">client</a> state object,
+which encapsulates the algorithms used to build packets to send to the <a
+href="PacketStream.html#attribute-i-server">server</a>.</p>
+
+ </div>
+ </div>
+
+ <div id="hints-attribute-method" class="method-detail">
+ <a name="hints"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">hints</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The map of “<a href="PacketStream.html#attribute-i-hints">hints</a>” that
+can be used to modify the behavior of the packet stream. For instance, when
+authentication succeeds, an “authenticated” hint is set, which is used to
+determine whether or not to compress the data when using the “delayed”
+compression algorithm.</p>
+
+ </div>
+ </div>
+
+ <div id="server-attribute-method" class="method-detail">
+ <a name="server"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">server</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="PacketStream.html#attribute-i-server">server</a> state object,
+which encapsulates the algorithms used to interpret packets coming from the
+<a href="PacketStream.html#attribute-i-server">server</a>.</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="extended-method" class="method-detail ">
+ <a name="method-c-extended"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">extended</span><span
+ class="method-args">(object)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="extended-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 19</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">extended</span>(<span class="ruby-identifier">object</span>)
+ <span class="ruby-identifier">object</span>.<span class="ruby-identifier">__send__</span>(<span class="ruby-value">:initialize_ssh</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- extended-source -->
+
+ </div>
+
+
+
+
+ </div><!-- extended-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="available_for_read-3F-method" class="method-detail ">
+ <a name="method-i-available_for_read-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">available_for_read?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns true if the IO is available for reading, and false otherwise.</p>
+
+
+
+ <div class="method-source-code" id="available_for_read-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 72</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">available_for_read?</span>
+ <span class="ruby-identifier">result</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Compat</span>.<span class="ruby-identifier">io_select</span>([<span class="ruby-keyword">self</span>], <span class="ruby-keyword">nil</span>, <span class="ruby-keyword">nil</span>, <span class="ruby-value">0</span>)
+ <span class="ruby-identifier">result</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">any?</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- available_for_read-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- available_for_read-3F-method -->
+
+
+ <div id="cleanup-method" class="method-detail ">
+ <a name="method-i-cleanup"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">cleanup</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Performs any pending <a
+href="PacketStream.html#method-i-cleanup">cleanup</a> necessary on the IO
+and its associated state objects. (See <a
+href="State.html#method-i-cleanup">State#cleanup</a>).</p>
+
+
+
+ <div class="method-source-code" id="cleanup-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 155</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">cleanup</span>
+ <span class="ruby-identifier">client</span>.<span class="ruby-identifier">cleanup</span>
+ <span class="ruby-identifier">server</span>.<span class="ruby-identifier">cleanup</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- cleanup-source -->
+
+ </div>
+
+
+
+
+ </div><!-- cleanup-method -->
+
+
+ <div id="client_name-method" class="method-detail ">
+ <a name="method-i-client_name"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">client_name</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>The name of the <a href="PacketStream.html#attribute-i-client">client</a>
+(local) end of the socket, as reported by the socket.</p>
+
+
+
+ <div class="method-source-code" id="client_name-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 39</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">client_name</span>
+ <span class="ruby-ivar">@client_name</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword">begin</span>
+ <span class="ruby-identifier">sockaddr</span> = <span class="ruby-identifier">getsockname</span>
+ <span class="ruby-keyword">begin</span>
+ <span class="ruby-constant">Socket</span>.<span class="ruby-identifier">getnameinfo</span>(<span class="ruby-identifier">sockaddr</span>, <span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">NI_NAMEREQD</span>).<span class="ruby-identifier">first</span>
+ <span class="ruby-keyword">rescue</span>
+ <span class="ruby-keyword">begin</span>
+ <span class="ruby-constant">Socket</span>.<span class="ruby-identifier">getnameinfo</span>(<span class="ruby-identifier">sockaddr</span>).<span class="ruby-identifier">first</span>
+ <span class="ruby-keyword">rescue</span>
+ <span class="ruby-keyword">begin</span>
+ <span class="ruby-constant">Socket</span>.<span class="ruby-identifier">gethostbyname</span>(<span class="ruby-constant">Socket</span>.<span class="ruby-identifier">gethostname</span>).<span class="ruby-identifier">first</span>
+ <span class="ruby-keyword">rescue</span>
+ <span class="ruby-identifier">lwarn</span> { <span class="ruby-string">&quot;the client ipaddr/name could not be determined&quot;</span> }
+ <span class="ruby-string">&quot;unknown&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- client_name-source -->
+
+ </div>
+
+
+
+
+ </div><!-- client_name-method -->
+
+
+ <div id="enqueue_packet-method" class="method-detail ">
+ <a name="method-i-enqueue_packet"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">enqueue_packet</span><span
+ class="method-args">(payload)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Enqueues a packet to be sent, but does not immediately send the packet. The
+given payload is pre-processed according to the algorithms specified in the
+<a href="PacketStream.html#attribute-i-client">client</a> state
+(compression, cipher, and hmac).</p>
+
+
+
+ <div class="method-source-code" id="enqueue_packet-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 118</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">enqueue_packet</span>(<span class="ruby-identifier">payload</span>)
+ <span class="ruby-comment"># try to compress the packet</span>
+ <span class="ruby-identifier">payload</span> = <span class="ruby-identifier">client</span>.<span class="ruby-identifier">compress</span>(<span class="ruby-identifier">payload</span>)
+
+ <span class="ruby-comment"># the length of the packet, minus the padding</span>
+ <span class="ruby-identifier">actual_length</span> = <span class="ruby-value">4</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">payload</span>.<span class="ruby-identifier">bytesize</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
+
+ <span class="ruby-comment"># compute the padding length</span>
+ <span class="ruby-identifier">padding_length</span> = <span class="ruby-identifier">client</span>.<span class="ruby-identifier">block_size</span> <span class="ruby-operator">-</span> (<span class="ruby-identifier">actual_length</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">client</span>.<span class="ruby-identifier">block_size</span>)
+ <span class="ruby-identifier">padding_length</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">client</span>.<span class="ruby-identifier">block_size</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">padding_length</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">4</span>
+
+ <span class="ruby-comment"># compute the packet length (sans the length field itself)</span>
+ <span class="ruby-identifier">packet_length</span> = <span class="ruby-identifier">payload</span>.<span class="ruby-identifier">bytesize</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">padding_length</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">packet_length</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">16</span>
+ <span class="ruby-identifier">padding_length</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">client</span>.<span class="ruby-identifier">block_size</span>
+ <span class="ruby-identifier">packet_length</span> = <span class="ruby-identifier">payload</span>.<span class="ruby-identifier">bytesize</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">padding_length</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">padding</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">padding_length</span>) { <span class="ruby-identifier">rand</span>(<span class="ruby-value">256</span>) }.<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;C*&quot;</span>)
+
+ <span class="ruby-identifier">unencrypted_data</span> = [<span class="ruby-identifier">packet_length</span>, <span class="ruby-identifier">padding_length</span>, <span class="ruby-identifier">payload</span>, <span class="ruby-identifier">padding</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;NCA*A*&quot;</span>)
+ <span class="ruby-identifier">mac</span> = <span class="ruby-identifier">client</span>.<span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">digest</span>([<span class="ruby-identifier">client</span>.<span class="ruby-identifier">sequence_number</span>, <span class="ruby-identifier">unencrypted_data</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;NA*&quot;</span>))
+
+ <span class="ruby-identifier">encrypted_data</span> = <span class="ruby-identifier">client</span>.<span class="ruby-identifier">update_cipher</span>(<span class="ruby-identifier">unencrypted_data</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">client</span>.<span class="ruby-identifier">final_cipher</span>
+ <span class="ruby-identifier">message</span> = <span class="ruby-identifier">encrypted_data</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">mac</span>
+
+ <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;queueing packet nr #{client.sequence_number} type #{payload.getbyte(0)} len #{packet_length}&quot;</span> }
+ <span class="ruby-identifier">enqueue</span>(<span class="ruby-identifier">message</span>)
+
+ <span class="ruby-identifier">client</span>.<span class="ruby-identifier">increment</span>(<span class="ruby-identifier">packet_length</span>)
+
+ <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- enqueue_packet-source -->
+
+ </div>
+
+
+
+
+ </div><!-- enqueue_packet-method -->
+
+
+ <div id="if_needs_rekey-3F-method" class="method-detail ">
+ <a name="method-i-if_needs_rekey-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">if_needs_rekey?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>If the IO object requires a rekey operation (as indicated by either its <a
+href="PacketStream.html#attribute-i-client">client</a> or <a
+href="PacketStream.html#attribute-i-server">server</a> state objects, see
+<a href="State.html#method-i-needs_rekey-3F">State#needs_rekey?</a>), this
+will yield. Otherwise, this does nothing.</p>
+
+
+
+ <div class="method-source-code" id="if_needs_rekey-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 163</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">if_needs_rekey?</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">client</span>.<span class="ruby-identifier">needs_rekey?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">server</span>.<span class="ruby-identifier">needs_rekey?</span>
+ <span class="ruby-keyword">yield</span>
+ <span class="ruby-identifier">client</span>.<span class="ruby-identifier">reset!</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">client</span>.<span class="ruby-identifier">needs_rekey?</span>
+ <span class="ruby-identifier">server</span>.<span class="ruby-identifier">reset!</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">server</span>.<span class="ruby-identifier">needs_rekey?</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- if_needs_rekey-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- if_needs_rekey-3F-method -->
+
+
+ <div id="next_packet-method" class="method-detail ">
+ <a name="method-i-next_packet"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">next_packet</span><span
+ class="method-args">(mode=:nonblock)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns the next full packet. If the mode parameter is :nonblock (the
+default), then this will return immediately, whether a packet is available
+or not, and will return nil if there is no packet ready to be returned. If
+the mode parameter is :block, then this method will block until a packet is
+available.</p>
+
+
+
+ <div class="method-source-code" id="next_packet-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 82</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">next_packet</span>(<span class="ruby-identifier">mode</span>=<span class="ruby-value">:nonblock</span>)
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">mode</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:nonblock</span> <span class="ruby-keyword">then</span>
+ <span class="ruby-identifier">fill</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">available_for_read?</span>
+ <span class="ruby-identifier">poll_next_packet</span>
+
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:block</span> <span class="ruby-keyword">then</span>
+ <span class="ruby-identifier">loop</span> <span class="ruby-keyword">do</span>
+ <span class="ruby-identifier">packet</span> = <span class="ruby-identifier">poll_next_packet</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">packet</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">packet</span>
+
+ <span class="ruby-identifier">loop</span> <span class="ruby-keyword">do</span>
+ <span class="ruby-identifier">result</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Compat</span>.<span class="ruby-identifier">io_select</span>([<span class="ruby-keyword">self</span>]) <span class="ruby-keyword">or</span> <span class="ruby-keyword">next</span>
+ <span class="ruby-keyword">break</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">any?</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">fill</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value">0</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Disconnect</span>, <span class="ruby-string">&quot;connection closed by remote host&quot;</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;expected :block or :nonblock, got #{mode.inspect}&quot;</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- next_packet-source -->
+
+ </div>
+
+
+
+
+ </div><!-- next_packet-method -->
+
+
+ <div id="peer_ip-method" class="method-detail ">
+ <a name="method-i-peer_ip"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">peer_ip</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>The IP address of the peer (remote) end of the socket, as reported by the
+socket.</p>
+
+
+
+ <div class="method-source-code" id="peer_ip-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 61</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">peer_ip</span>
+ <span class="ruby-ivar">@peer_ip</span> <span class="ruby-operator">||=</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:getpeername</span>)
+ <span class="ruby-identifier">addr</span> = <span class="ruby-identifier">getpeername</span>
+ <span class="ruby-constant">Socket</span>.<span class="ruby-identifier">getnameinfo</span>(<span class="ruby-identifier">addr</span>, <span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">NI_NUMERICHOST</span> <span class="ruby-operator">|</span> <span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">NI_NUMERICSERV</span>).<span class="ruby-identifier">first</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-string">&quot;&lt;no hostip for proxy command&gt;&quot;</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- peer_ip-source -->
+
+ </div>
+
+
+
+
+ </div><!-- peer_ip-method -->
+
+
+ <div id="send_packet-method" class="method-detail ">
+ <a name="method-i-send_packet"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">send_packet</span><span
+ class="method-args">(payload)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Enqueues a packet to be sent, and blocks until the entire packet is sent.</p>
+
+
+
+ <div class="method-source-code" id="send_packet-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 110</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">send_packet</span>(<span class="ruby-identifier">payload</span>)
+ <span class="ruby-identifier">enqueue_packet</span>(<span class="ruby-identifier">payload</span>)
+ <span class="ruby-identifier">wait_for_pending_sends</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- send_packet-source -->
+
+ </div>
+
+
+
+
+ </div><!-- send_packet-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ <div id="protected-instance-method-details" class="method-section section">
+ <h3 class="section-header">Protected Instance Methods</h3>
+
+
+ <div id="initialize_ssh-method" class="method-detail ">
+ <a name="method-i-initialize_ssh"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">initialize_ssh</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Called when this module is used to extend an object. It initializes the
+states and generally prepares the object for use as a packet stream.</p>
+
+
+
+ <div class="method-source-code" id="initialize_ssh-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 175</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize_ssh</span>
+ <span class="ruby-ivar">@hints</span> = {}
+ <span class="ruby-ivar">@server</span> = <span class="ruby-constant">State</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-value">:server</span>)
+ <span class="ruby-ivar">@client</span> = <span class="ruby-constant">State</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-value">:client</span>)
+ <span class="ruby-ivar">@packet</span> = <span class="ruby-keyword">nil</span>
+ <span class="ruby-identifier">initialize_buffered_io</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- initialize_ssh-source -->
+
+ </div>
+
+
+
+
+ </div><!-- initialize_ssh-method -->
+
+
+ <div id="poll_next_packet-method" class="method-detail ">
+ <a name="method-i-poll_next_packet"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">poll_next_packet</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Tries to read the next packet. If there is insufficient data to read an
+entire packet, this returns immediately, otherwise the packet is read,
+post-processed according to the cipher, hmac, and compression algorithms
+specified in the <a href="PacketStream.html#attribute-i-server">server</a>
+state object, and returned as a new <a href="../Packet.html">Packet</a>
+object.</p>
+
+
+
+ <div class="method-source-code" id="poll_next_packet-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 188</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">poll_next_packet</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@packet</span>.<span class="ruby-identifier">nil?</span>
+ <span class="ruby-identifier">minimum</span> = <span class="ruby-identifier">server</span>.<span class="ruby-identifier">block_size</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">4</span> <span class="ruby-operator">?</span> <span class="ruby-value">4</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">server</span>.<span class="ruby-identifier">block_size</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">available</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">minimum</span>
+ <span class="ruby-identifier">data</span> = <span class="ruby-identifier">read_available</span>(<span class="ruby-identifier">minimum</span>)
+
+ <span class="ruby-comment"># decipher it</span>
+ <span class="ruby-ivar">@packet</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">server</span>.<span class="ruby-identifier">update_cipher</span>(<span class="ruby-identifier">data</span>))
+ <span class="ruby-ivar">@packet_length</span> = <span class="ruby-ivar">@packet</span>.<span class="ruby-identifier">read_long</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">need</span> = <span class="ruby-ivar">@packet_length</span> <span class="ruby-operator">+</span> <span class="ruby-value">4</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">server</span>.<span class="ruby-identifier">block_size</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-node">&quot;padding error, need #{need} block #{server.block_size}&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">need</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">server</span>.<span class="ruby-identifier">block_size</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
+
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">available</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">need</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">server</span>.<span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">mac_length</span>
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">need</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
+ <span class="ruby-comment"># read the remainder of the packet and decrypt it.</span>
+ <span class="ruby-identifier">data</span> = <span class="ruby-identifier">read_available</span>(<span class="ruby-identifier">need</span>)
+ <span class="ruby-ivar">@packet</span>.<span class="ruby-identifier">append</span>(<span class="ruby-identifier">server</span>.<span class="ruby-identifier">update_cipher</span>(<span class="ruby-identifier">data</span>))
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-comment"># get the hmac from the tail of the packet (if one exists), and</span>
+ <span class="ruby-comment"># then validate it.</span>
+ <span class="ruby-identifier">real_hmac</span> = <span class="ruby-identifier">read_available</span>(<span class="ruby-identifier">server</span>.<span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">mac_length</span>) <span class="ruby-operator">||</span> <span class="ruby-string">&quot;&quot;</span>
+
+ <span class="ruby-ivar">@packet</span>.<span class="ruby-identifier">append</span>(<span class="ruby-identifier">server</span>.<span class="ruby-identifier">final_cipher</span>)
+ <span class="ruby-identifier">padding_length</span> = <span class="ruby-ivar">@packet</span>.<span class="ruby-identifier">read_byte</span>
+
+ <span class="ruby-identifier">payload</span> = <span class="ruby-ivar">@packet</span>.<span class="ruby-identifier">read</span>(<span class="ruby-ivar">@packet_length</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">padding_length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)
+ <span class="ruby-identifier">padding</span> = <span class="ruby-ivar">@packet</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">padding_length</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">padding_length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
+
+ <span class="ruby-identifier">my_computed_hmac</span> = <span class="ruby-identifier">server</span>.<span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">digest</span>([<span class="ruby-identifier">server</span>.<span class="ruby-identifier">sequence_number</span>, <span class="ruby-ivar">@packet</span>.<span class="ruby-identifier">content</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;NA*&quot;</span>))
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-string">&quot;corrupted mac detected&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">real_hmac</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">my_computed_hmac</span>
+
+ <span class="ruby-comment"># try to decompress the payload, in case compression is active</span>
+ <span class="ruby-identifier">payload</span> = <span class="ruby-identifier">server</span>.<span class="ruby-identifier">decompress</span>(<span class="ruby-identifier">payload</span>)
+
+ <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;received packet nr #{server.sequence_number} type #{payload.getbyte(0)} len #{@packet_length}&quot;</span> }
+
+ <span class="ruby-identifier">server</span>.<span class="ruby-identifier">increment</span>(<span class="ruby-ivar">@packet_length</span>)
+ <span class="ruby-ivar">@packet</span> = <span class="ruby-keyword">nil</span>
+
+ <span class="ruby-keyword">return</span> <span class="ruby-constant">Packet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">payload</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- poll_next_packet-source -->
+
+ </div>
+
+
+
+
+ </div><!-- poll_next_packet-method -->
+
+
+ </div><!-- protected-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/ServerVersion.html b/Net/SSH/Transport/ServerVersion.html
new file mode 100644
index 0000000..aa0e34a
--- /dev/null
+++ b/Net/SSH/Transport/ServerVersion.html
@@ -0,0 +1,520 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::ServerVersion</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/transport/server_version_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/server_version.rb">lib/net/ssh/transport/server_version.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="../Loggable.html">Net::SSH::Loggable</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::ServerVersion</h1>
+
+ <div id="description" class="description">
+
+<p>Negotiates the <a href="../../SSH.html">SSH</a> protocol <a
+href="ServerVersion.html#attribute-i-version">version</a> and trades
+information about server and client. This is never used directly–it is
+always called by the transport layer as part of the initialization process
+of the transport layer.</p>
+
+<p>Note that this class also encapsulates the negotiated <a
+href="ServerVersion.html#attribute-i-version">version</a>, and acts as the
+authoritative reference for any queries regarding the <a
+href="ServerVersion.html#attribute-i-version">version</a> in effect.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="PROTO_VERSION">PROTO_VERSION</a></dt>
+
+ <dd class="description"><p>The <a href="../../SSH.html">SSH</a> <a
+href="ServerVersion.html#attribute-i-version">version</a> string as
+reported by <a href="../../SSH.html">Net::SSH</a></p></dd>
+
+
+ </dl>
+ </div>
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="header-attribute-method" class="method-detail">
+ <a name="header"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">header</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>Any <a href="ServerVersion.html#attribute-i-header">header</a> text sent by
+the server prior to sending the <a
+href="ServerVersion.html#attribute-i-version">version</a>.</p>
+
+ </div>
+ </div>
+
+ <div id="version-attribute-method" class="method-detail">
+ <a name="version"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">version</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="ServerVersion.html#attribute-i-version">version</a> string
+reported by the server.</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(socket, logger)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Instantiates a <a href="ServerVersion.html#method-c-new">new</a> <a
+href="ServerVersion.html">ServerVersion</a> and immediately (and
+synchronously) negotiates the <a href="../../SSH.html">SSH</a> protocol in
+effect, using the given socket.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/server_version.rb, line 28</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">socket</span>, <span class="ruby-identifier">logger</span>)
+ <span class="ruby-ivar">@header</span> = <span class="ruby-string">&quot;&quot;</span>
+ <span class="ruby-ivar">@version</span> = <span class="ruby-keyword">nil</span>
+ <span class="ruby-ivar">@logger</span> = <span class="ruby-identifier">logger</span>
+ <span class="ruby-identifier">negotiate!</span>(<span class="ruby-identifier">socket</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/Session.html b/Net/SSH/Transport/Session.html
new file mode 100644
index 0000000..dff4429
--- /dev/null
+++ b/Net/SSH/Transport/Session.html
@@ -0,0 +1,1324 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::Session</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/transport/session_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/session.rb">lib/net/ssh/transport/session.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-close">#close</a></li>
+
+ <li><a href="#method-i-closed-3F">#closed?</a></li>
+
+ <li><a href="#method-i-configure_client">#configure_client</a></li>
+
+ <li><a href="#method-i-configure_server">#configure_server</a></li>
+
+ <li><a href="#method-i-enqueue_message">#enqueue_message</a></li>
+
+ <li><a href="#method-i-hint">#hint</a></li>
+
+ <li><a href="#method-i-host_as_string">#host_as_string</a></li>
+
+ <li><a href="#method-i-next_message">#next_message</a></li>
+
+ <li><a href="#method-i-peer">#peer</a></li>
+
+ <li><a href="#method-i-poll_message">#poll_message</a></li>
+
+ <li><a href="#method-i-push">#push</a></li>
+
+ <li><a href="#method-i-rekey-21">#rekey!</a></li>
+
+ <li><a href="#method-i-rekey_as_needed">#rekey_as_needed</a></li>
+
+ <li><a href="#method-i-send_message">#send_message</a></li>
+
+ <li><a href="#method-i-service_request">#service_request</a></li>
+
+ <li><a href="#method-i-shutdown-21">#shutdown!</a></li>
+
+ <li><a href="#method-i-wait">#wait</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><a class="include" href="Constants.html">Net::SSH::Transport::Constants</a></li>
+
+
+
+ <li><a class="include" href="../Loggable.html">Net::SSH::Loggable</a></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::Session</h1>
+
+ <div id="description" class="description">
+
+<p>The transport layer represents the lowest level of the <a
+href="../../SSH.html">SSH</a> protocol, and implements basic message
+exchanging and protocol initialization. It will never be instantiated
+directly (unless you really know what you’re about), but will instead be
+created for you automatically when you create a <a
+href="Session.html#method-c-new">new</a> <a href="../../SSH.html">SSH</a>
+session via <a href="../../SSH.html#method-c-start">Net::SSH.start</a>.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="DEFAULT_PORT">DEFAULT_PORT</a></dt>
+
+ <dd class="description"><p>The standard <a href="Session.html#attribute-i-port">port</a> for the <a
+href="../../SSH.html">SSH</a> protocol.</p></dd>
+
+
+ </dl>
+ </div>
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="algorithms-attribute-method" class="method-detail">
+ <a name="algorithms"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">algorithms</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="Algorithms.html">Algorithms</a> instance used to perform key
+exchanges.</p>
+
+ </div>
+ </div>
+
+ <div id="host-attribute-method" class="method-detail">
+ <a name="host"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">host</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="Session.html#attribute-i-host">host</a> to connect to, as
+given to the constructor.</p>
+
+ </div>
+ </div>
+
+ <div id="host_key_verifier-attribute-method" class="method-detail">
+ <a name="host_key_verifier"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">host_key_verifier</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="Session.html#attribute-i-host">host</a>-key verifier object
+used to verify <a href="Session.html#attribute-i-host">host</a> keys, to
+ensure that the connection is not being spoofed.</p>
+
+ </div>
+ </div>
+
+ <div id="options-attribute-method" class="method-detail">
+ <a name="options"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">options</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The hash of <a href="Session.html#attribute-i-options">options</a> that
+were given to the object at initialization.</p>
+
+ </div>
+ </div>
+
+ <div id="port-attribute-method" class="method-detail">
+ <a name="port"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">port</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="Session.html#attribute-i-port">port</a> number to connect to,
+as given in the <a href="Session.html#attribute-i-options">options</a> to
+the constructor. If no <a href="Session.html#attribute-i-port">port</a>
+number was given, this will default to <a
+href="Session.html#DEFAULT_PORT">DEFAULT_PORT</a>.</p>
+
+ </div>
+ </div>
+
+ <div id="server_version-attribute-method" class="method-detail">
+ <a name="server_version"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">server_version</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="ServerVersion.html">ServerVersion</a> instance that
+encapsulates the negotiated protocol version.</p>
+
+ </div>
+ </div>
+
+ <div id="socket-attribute-method" class="method-detail">
+ <a name="socket"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">socket</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The underlying <a href="Session.html#attribute-i-socket">socket</a> object
+being used to communicate with the remote <a
+href="Session.html#attribute-i-host">host</a>.</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(host, options={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Instantiates a <a href="Session.html#method-c-new">new</a> transport layer
+abstraction. This will block until the initial key exchange completes,
+leaving you with a ready-to-use transport session.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 57</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">options</span>={})
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">logger</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:logger</span>]
+
+ <span class="ruby-ivar">@host</span> = <span class="ruby-identifier">host</span>
+ <span class="ruby-ivar">@port</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:port</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">DEFAULT_PORT</span>
+ <span class="ruby-ivar">@bind_address</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:bind_address</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword">nil</span>
+ <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
+
+ <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;establishing connection to #{@host}:#{@port}&quot;</span> }
+ <span class="ruby-identifier">factory</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:proxy</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">TCPSocket</span>
+ <span class="ruby-ivar">@socket</span> = <span class="ruby-identifier">timeout</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:timeout</span>] <span class="ruby-operator">||</span> <span class="ruby-value">0</span>) { <span class="ruby-ivar">@bind_address</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:proxy</span>] <span class="ruby-operator">?</span> <span class="ruby-identifier">factory</span>.<span class="ruby-identifier">open</span>(<span class="ruby-ivar">@host</span>, <span class="ruby-ivar">@port</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">factory</span>.<span class="ruby-identifier">open</span>(<span class="ruby-ivar">@host</span>,<span class="ruby-ivar">@port</span>,<span class="ruby-ivar">@bind_address</span>) }
+ <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">extend</span>(<span class="ruby-constant">PacketStream</span>)
+ <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">logger</span> = <span class="ruby-ivar">@logger</span>
+
+ <span class="ruby-identifier">debug</span> { <span class="ruby-string">&quot;connection established&quot;</span> }
+
+ <span class="ruby-ivar">@queue</span> = []
+
+ <span class="ruby-ivar">@host_key_verifier</span> = <span class="ruby-identifier">select_host_key_verifier</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:paranoid</span>])
+
+
+ <span class="ruby-ivar">@server_version</span> = <span class="ruby-identifier">timeout</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:timeout</span>] <span class="ruby-operator">||</span> <span class="ruby-value">0</span>) { <span class="ruby-constant">ServerVersion</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">socket</span>, <span class="ruby-identifier">logger</span>) }
+
+ <span class="ruby-ivar">@algorithms</span> = <span class="ruby-constant">Algorithms</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-identifier">options</span>)
+ <span class="ruby-identifier">wait</span> { <span class="ruby-identifier">algorithms</span>.<span class="ruby-identifier">initialized?</span> }
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="close-method" class="method-detail ">
+ <a name="method-i-close"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">close</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Cleans up (see <a
+href="PacketStream.html#method-i-cleanup">PacketStream#cleanup</a>) and
+closes the underlying <a href="Session.html#attribute-i-socket">socket</a>.</p>
+
+
+
+ <div class="method-source-code" id="close-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 105</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">close</span>
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">cleanup</span>
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">close</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- close-source -->
+
+ </div>
+
+
+
+
+ </div><!-- close-method -->
+
+
+ <div id="closed-3F-method" class="method-detail ">
+ <a name="method-i-closed-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">closed?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns true if the underlying <a
+href="Session.html#attribute-i-socket">socket</a> has been closed.</p>
+
+
+
+ <div class="method-source-code" id="closed-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 100</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">closed?</span>
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">closed?</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- closed-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- closed-3F-method -->
+
+
+ <div id="configure_client-method" class="method-detail ">
+ <a name="method-i-configure_client"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">configure_client</span><span
+ class="method-args">(options={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Configure’s the packet stream’s client state with the given set of <a
+href="Session.html#attribute-i-options">options</a>. This is typically used
+to define the cipher, compression, and hmac <a
+href="Session.html#attribute-i-algorithms">algorithms</a> to use when
+sending packets to the server.</p>
+
+
+
+ <div class="method-source-code" id="configure_client-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 232</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">configure_client</span>(<span class="ruby-identifier">options</span>={})
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">client</span>.<span class="ruby-identifier">set</span>(<span class="ruby-identifier">options</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- configure_client-source -->
+
+ </div>
+
+
+
+
+ </div><!-- configure_client-method -->
+
+
+ <div id="configure_server-method" class="method-detail ">
+ <a name="method-i-configure_server"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">configure_server</span><span
+ class="method-args">(options={})</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Configure’s the packet stream’s server state with the given set of <a
+href="Session.html#attribute-i-options">options</a>. This is typically used
+to define the cipher, compression, and hmac <a
+href="Session.html#attribute-i-algorithms">algorithms</a> to use when
+reading packets from the server.</p>
+
+
+
+ <div class="method-source-code" id="configure_server-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 239</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">configure_server</span>(<span class="ruby-identifier">options</span>={})
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">server</span>.<span class="ruby-identifier">set</span>(<span class="ruby-identifier">options</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- configure_server-source -->
+
+ </div>
+
+
+
+
+ </div><!-- configure_server-method -->
+
+
+ <div id="enqueue_message-method" class="method-detail ">
+ <a name="method-i-enqueue_message"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">enqueue_message</span><span
+ class="method-args">(message)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Enqueues the given message, such that it will be sent at the earliest
+opportunity. This does not block, but returns immediately.</p>
+
+
+
+ <div class="method-source-code" id="enqueue_message-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 225</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">enqueue_message</span>(<span class="ruby-identifier">message</span>)
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">enqueue_packet</span>(<span class="ruby-identifier">message</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- enqueue_message-source -->
+
+ </div>
+
+
+
+
+ </div><!-- enqueue_message-method -->
+
+
+ <div id="hint-method" class="method-detail ">
+ <a name="method-i-hint"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">hint</span><span
+ class="method-args">(which, value=true)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Sets a <a href="Session.html#method-c-new">new</a> <a
+href="Session.html#method-i-hint">hint</a> for the packet stream, which the
+packet stream may use to change its behavior. (See <a
+href="PacketStream.html#attribute-i-hints">PacketStream#hints</a>).</p>
+
+
+
+ <div class="method-source-code" id="hint-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 245</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">hint</span>(<span class="ruby-identifier">which</span>, <span class="ruby-identifier">value</span>=<span class="ruby-keyword">true</span>)
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">hints</span>[<span class="ruby-identifier">which</span>] = <span class="ruby-identifier">value</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- hint-source -->
+
+ </div>
+
+
+
+
+ </div><!-- hint-method -->
+
+
+ <div id="host_as_string-method" class="method-detail ">
+ <a name="method-i-host_as_string"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">host_as_string</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns the <a href="Session.html#attribute-i-host">host</a> (and possibly
+IP address) in a format compatible with <a href="../../SSH.html">SSH</a>
+known-<a href="Session.html#attribute-i-host">host</a> files.</p>
+
+
+
+ <div class="method-source-code" id="host_as_string-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 86</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">host_as_string</span>
+ <span class="ruby-ivar">@host_as_string</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword">begin</span>
+ <span class="ruby-identifier">string</span> = <span class="ruby-node">&quot;#{host}&quot;</span>
+ <span class="ruby-identifier">string</span> = <span class="ruby-node">&quot;[#{string}]:#{port}&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">port</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">DEFAULT_PORT</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">peer_ip</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">host</span>
+ <span class="ruby-identifier">string2</span> = <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">peer_ip</span>
+ <span class="ruby-identifier">string2</span> = <span class="ruby-node">&quot;[#{string2}]:#{port}&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">port</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">DEFAULT_PORT</span>
+ <span class="ruby-identifier">string</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-string">&quot;,&quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">string2</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-identifier">string</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- host_as_string-source -->
+
+ </div>
+
+
+
+
+ </div><!-- host_as_string-method -->
+
+
+ <div id="next_message-method" class="method-detail ">
+ <a name="method-i-next_message"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">next_message</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Blocks until a <a href="Session.html#method-c-new">new</a> packet is
+available to be read, and returns that packet. See #<a
+href="Session.html#method-i-poll_message">poll_message</a>.</p>
+
+
+
+ <div class="method-source-code" id="next_message-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 151</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">next_message</span>
+ <span class="ruby-identifier">poll_message</span>(<span class="ruby-value">:block</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- next_message-source -->
+
+ </div>
+
+
+
+
+ </div><!-- next_message-method -->
+
+
+ <div id="peer-method" class="method-detail ">
+ <a name="method-i-peer"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">peer</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns a hash of information about the <a
+href="Session.html#method-i-peer">peer</a> (remote) side of the <a
+href="Session.html#attribute-i-socket">socket</a>, including :ip, :<a
+href="Session.html#attribute-i-port">port</a>, :<a
+href="Session.html#attribute-i-host">host</a>, and :canonized (see #<a
+href="Session.html#method-i-host_as_string">host_as_string</a>).</p>
+
+
+
+ <div class="method-source-code" id="peer-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 145</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">peer</span>
+ <span class="ruby-ivar">@peer</span> <span class="ruby-operator">||=</span> { <span class="ruby-value">:ip</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">peer_ip</span>, <span class="ruby-value">:port</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@port</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-value">:host</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@host</span>, <span class="ruby-value">:canonized</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">host_as_string</span> }
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- peer-source -->
+
+ </div>
+
+
+
+
+ </div><!-- peer-method -->
+
+
+ <div id="poll_message-method" class="method-detail ">
+ <a name="method-i-poll_message"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">poll_message</span><span
+ class="method-args">(mode=:nonblock, consume_queue=true)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Tries to read the next packet from the <a
+href="Session.html#attribute-i-socket">socket</a>. If mode is :nonblock
+(the default), this will not block and will return nil if there are no
+packets waiting to be read. Otherwise, this will block until a packet is
+available. Note that some packet types (DISCONNECT, IGNORE, UNIMPLEMENTED,
+DEBUG, and KEXINIT) are handled silently by this method, and will never be
+returned.</p>
+
+<p>If a key-exchange is in process and a disallowed packet type is received,
+it will be enqueued and otherwise ignored. When a key-exchange is not in
+process, and consume_queue is true, packets will be first read from the
+queue before the <a href="Session.html#attribute-i-socket">socket</a> is
+queried.</p>
+
+
+
+ <div class="method-source-code" id="poll_message-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 166</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">poll_message</span>(<span class="ruby-identifier">mode</span>=<span class="ruby-value">:nonblock</span>, <span class="ruby-identifier">consume_queue</span>=<span class="ruby-keyword">true</span>)
+ <span class="ruby-identifier">loop</span> <span class="ruby-keyword">do</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">consume_queue</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@queue</span>.<span class="ruby-identifier">any?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">algorithms</span>.<span class="ruby-identifier">allow?</span>(<span class="ruby-ivar">@queue</span>.<span class="ruby-identifier">first</span>)
+ <span class="ruby-keyword">return</span> <span class="ruby-ivar">@queue</span>.<span class="ruby-identifier">shift</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">packet</span> = <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">next_packet</span>(<span class="ruby-identifier">mode</span>)
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">packet</span>.<span class="ruby-identifier">nil?</span>
+
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">packet</span>.<span class="ruby-identifier">type</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">DISCONNECT</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Disconnect</span>, <span class="ruby-node">&quot;disconnected: #{packet[:description]} (#{packet[:reason_code]})&quot;</span>
+
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">IGNORE</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;IGNORE packet recieved: #{packet[:data].inspect}&quot;</span> }
+
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">UNIMPLEMENTED</span>
+ <span class="ruby-identifier">lwarn</span> { <span class="ruby-node">&quot;UNIMPLEMENTED: #{packet[:number]}&quot;</span> }
+
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">DEBUG</span>
+ <span class="ruby-identifier">send</span>(<span class="ruby-identifier">packet</span>[<span class="ruby-value">:always_display</span>] <span class="ruby-operator">?</span> <span class="ruby-value">:fatal</span> <span class="ruby-operator">:</span> <span class="ruby-value">:debug</span>) { <span class="ruby-identifier">packet</span>[<span class="ruby-value">:message</span>] }
+
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">KEXINIT</span>
+ <span class="ruby-identifier">algorithms</span>.<span class="ruby-identifier">accept_kexinit</span>(<span class="ruby-identifier">packet</span>)
+
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">packet</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">algorithms</span>.<span class="ruby-identifier">allow?</span>(<span class="ruby-identifier">packet</span>)
+ <span class="ruby-identifier">push</span>(<span class="ruby-identifier">packet</span>)
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- poll_message-source -->
+
+ </div>
+
+
+
+
+ </div><!-- poll_message-method -->
+
+
+ <div id="push-method" class="method-detail ">
+ <a name="method-i-push"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">push</span><span
+ class="method-args">(packet)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Adds the given packet to the packet queue. If the queue is non-empty, #<a
+href="Session.html#method-i-poll_message">poll_message</a> will return
+packets from the queue in the order they were received.</p>
+
+
+
+ <div class="method-source-code" id="push-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 213</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">push</span>(<span class="ruby-identifier">packet</span>)
+ <span class="ruby-ivar">@queue</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">packet</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- push-source -->
+
+ </div>
+
+
+
+
+ </div><!-- push-method -->
+
+
+ <div id="rekey-21-method" class="method-detail ">
+ <a name="method-i-rekey-21"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">rekey!</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Requests a rekey operation, and blocks until the operation completes. If a
+rekey is already pending, this returns immediately, having no effect.</p>
+
+
+
+ <div class="method-source-code" id="rekey-21-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 128</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">rekey!</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">algorithms</span>.<span class="ruby-identifier">pending?</span>
+ <span class="ruby-identifier">algorithms</span>.<span class="ruby-identifier">rekey!</span>
+ <span class="ruby-identifier">wait</span> { <span class="ruby-identifier">algorithms</span>.<span class="ruby-identifier">initialized?</span> }
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- rekey-21-source -->
+
+ </div>
+
+
+
+
+ </div><!-- rekey-21-method -->
+
+
+ <div id="rekey_as_needed-method" class="method-detail ">
+ <a name="method-i-rekey_as_needed"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">rekey_as_needed</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns immediately if a rekey is already in process. Otherwise, if a rekey
+is needed (as indicated by the <a
+href="Session.html#attribute-i-socket">socket</a>, see <a
+href="PacketStream.html#method-i-if_needs_rekey-3F">PacketStream#if_needs_rekey?</a>)
+one is performed, causing this method to block until it completes.</p>
+
+
+
+ <div class="method-source-code" id="rekey_as_needed-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 138</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">rekey_as_needed</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">algorithms</span>.<span class="ruby-identifier">pending?</span>
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">if_needs_rekey?</span> { <span class="ruby-identifier">rekey!</span> }
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- rekey_as_needed-source -->
+
+ </div>
+
+
+
+
+ </div><!-- rekey_as_needed-method -->
+
+
+ <div id="send_message-method" class="method-detail ">
+ <a name="method-i-send_message"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">send_message</span><span
+ class="method-args">(message)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Sends the given message via the packet stream, blocking until the entire
+message has been sent.</p>
+
+
+
+ <div class="method-source-code" id="send_message-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 219</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">send_message</span>(<span class="ruby-identifier">message</span>)
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">send_packet</span>(<span class="ruby-identifier">message</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- send_message-source -->
+
+ </div>
+
+
+
+
+ </div><!-- send_message-method -->
+
+
+ <div id="service_request-method" class="method-detail ">
+ <a name="method-i-service_request"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">service_request</span><span
+ class="method-args">(service)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns a <a href="Session.html#method-c-new">new</a> <a
+href="Session.html#method-i-service_request">service_request</a> packet for
+the given service name, ready for sending to the server.</p>
+
+
+
+ <div class="method-source-code" id="service_request-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 121</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">service_request</span>(<span class="ruby-identifier">service</span>)
+ <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">from</span>(<span class="ruby-value">:byte</span>, <span class="ruby-constant">SERVICE_REQUEST</span>, <span class="ruby-value">:string</span>, <span class="ruby-identifier">service</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- service_request-source -->
+
+ </div>
+
+
+
+
+ </div><!-- service_request-method -->
+
+
+ <div id="shutdown-21-method" class="method-detail ">
+ <a name="method-i-shutdown-21"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">shutdown!</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Performs a “hard” shutdown of the connection. In general, this should never
+be done, but it might be necessary (in a rescue clause, for instance, when
+the connection needs to <a href="Session.html#method-i-close">close</a> but
+you don’t know the status of the underlying protocol’s state).</p>
+
+
+
+ <div class="method-source-code" id="shutdown-21-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 114</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">shutdown!</span>
+ <span class="ruby-identifier">error</span> { <span class="ruby-string">&quot;forcing connection closed&quot;</span> }
+ <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">close</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- shutdown-21-source -->
+
+ </div>
+
+
+
+
+ </div><!-- shutdown-21-method -->
+
+
+ <div id="wait-method" class="method-detail ">
+ <a name="method-i-wait"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">wait</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Waits (blocks) until the given block returns true. If no block is given,
+this just waits long enough to see if there are any pending packets. Any
+packets read are enqueued (see #<a
+href="Session.html#method-i-push">push</a>).</p>
+
+
+
+ <div class="method-source-code" id="wait-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 201</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">wait</span>
+ <span class="ruby-identifier">loop</span> <span class="ruby-keyword">do</span>
+ <span class="ruby-keyword">break</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-keyword">yield</span>
+ <span class="ruby-identifier">message</span> = <span class="ruby-identifier">poll_message</span>(<span class="ruby-value">:nonblock</span>, <span class="ruby-keyword">false</span>)
+ <span class="ruby-identifier">push</span>(<span class="ruby-identifier">message</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">message</span>
+ <span class="ruby-keyword">break</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">block_given?</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- wait-source -->
+
+ </div>
+
+
+
+
+ </div><!-- wait-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Transport/State.html b/Net/SSH/Transport/State.html
new file mode 100644
index 0000000..9d97db7
--- /dev/null
+++ b/Net/SSH/Transport/State.html
@@ -0,0 +1,1185 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Transport::State</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/transport/state_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/transport/state.rb">lib/net/ssh/transport/state.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-cleanup">#cleanup</a></li>
+
+ <li><a href="#method-i-compress">#compress</a></li>
+
+ <li><a href="#method-i-compression-3F">#compression?</a></li>
+
+ <li><a href="#method-i-compressor">#compressor</a></li>
+
+ <li><a href="#method-i-decompress">#decompress</a></li>
+
+ <li><a href="#method-i-decompressor">#decompressor</a></li>
+
+ <li><a href="#method-i-final_cipher">#final_cipher</a></li>
+
+ <li><a href="#method-i-increment">#increment</a></li>
+
+ <li><a href="#method-i-needs_rekey-3F">#needs_rekey?</a></li>
+
+ <li><a href="#method-i-reset-21">#reset!</a></li>
+
+ <li><a href="#method-i-set">#set</a></li>
+
+ <li><a href="#method-i-update_cipher">#update_cipher</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Transport::State</h1>
+
+ <div id="description" class="description">
+
+<p>Encapsulates state information about one end of an <a
+href="../../SSH.html">SSH</a> connection. Such state includes the packet
+sequence number, the algorithms in use, how many <a
+href="State.html#attribute-i-packets">packets</a> and <a
+href="State.html#attribute-i-blocks">blocks</a> have been processed since
+the last reset, and so forth. This class will never be instantiated
+directly, but is used as part of the internal state of the <a
+href="PacketStream.html">PacketStream</a> module.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="block_size-attribute-method" class="method-detail">
+ <a name="block_size"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">block_size</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The block size for the <a href="State.html#attribute-i-cipher">cipher</a></p>
+
+ </div>
+ </div>
+
+ <div id="blocks-attribute-method" class="method-detail">
+ <a name="blocks"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">blocks</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The number of data <a href="State.html#attribute-i-blocks">blocks</a>
+processed since the last call to #<a
+href="State.html#method-i-reset-21">reset!</a></p>
+
+ </div>
+ </div>
+
+ <div id="cipher-attribute-method" class="method-detail">
+ <a name="cipher"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">cipher</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="State.html#attribute-i-cipher">cipher</a> algorithm in use for
+this <a href="State.html#attribute-i-socket">socket</a> endpoint.</p>
+
+ </div>
+ </div>
+
+ <div id="compression-attribute-method" class="method-detail">
+ <a name="compression"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">compression</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="State.html#attribute-i-compression">compression</a> algorithm
+in use for this endpoint.</p>
+
+ </div>
+ </div>
+
+ <div id="compression_level-attribute-method" class="method-detail">
+ <a name="compression_level"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">compression_level</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="State.html#attribute-i-compression">compression</a> level to
+use when compressing data (or nil, for the default).</p>
+
+ </div>
+ </div>
+
+ <div id="hmac-attribute-method" class="method-detail">
+ <a name="hmac"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">hmac</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="State.html#attribute-i-hmac">hmac</a> algorithm in use for
+this endpoint.</p>
+
+ </div>
+ </div>
+
+ <div id="max_blocks-attribute-method" class="method-detail">
+ <a name="max_blocks"></a>
+
+ <a name="max_blocks="></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">max_blocks</span><span
+ class="attribute-access-type">[RW]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The maximum number of <a href="State.html#attribute-i-blocks">blocks</a>
+that this endpoint wants to process before needing a rekey.</p>
+
+ </div>
+ </div>
+
+ <div id="max_packets-attribute-method" class="method-detail">
+ <a name="max_packets"></a>
+
+ <a name="max_packets="></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">max_packets</span><span
+ class="attribute-access-type">[RW]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The maximum number of <a href="State.html#attribute-i-packets">packets</a>
+that this endpoint wants to process before needing a rekey.</p>
+
+ </div>
+ </div>
+
+ <div id="packets-attribute-method" class="method-detail">
+ <a name="packets"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">packets</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The number of <a href="State.html#attribute-i-packets">packets</a>
+processed since the last call to #<a
+href="State.html#method-i-reset-21">reset!</a></p>
+
+ </div>
+ </div>
+
+ <div id="rekey_limit-attribute-method" class="method-detail">
+ <a name="rekey_limit"></a>
+
+ <a name="rekey_limit="></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">rekey_limit</span><span
+ class="attribute-access-type">[RW]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The user-specified maximum number of bytes that this endpoint ought to
+process before needing a rekey.</p>
+
+ </div>
+ </div>
+
+ <div id="role-attribute-method" class="method-detail">
+ <a name="role"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">role</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="State.html#attribute-i-role">role</a> that this state plays
+(either :client or :server)</p>
+
+ </div>
+ </div>
+
+ <div id="sequence_number-attribute-method" class="method-detail">
+ <a name="sequence_number"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">sequence_number</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The next packet sequence number for this <a
+href="State.html#attribute-i-socket">socket</a> endpoint.</p>
+
+ </div>
+ </div>
+
+ <div id="socket-attribute-method" class="method-detail">
+ <a name="socket"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">socket</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+ <p>The <a href="State.html#attribute-i-socket">socket</a> object that owns
+this state object.</p>
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(socket, role)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Creates a <a href="State.html#method-c-new">new</a> state object, belonging
+to the given <a href="State.html#attribute-i-socket">socket</a>.
+Initializes the algorithms to “none”.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 57</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">socket</span>, <span class="ruby-identifier">role</span>)
+ <span class="ruby-ivar">@socket</span> = <span class="ruby-identifier">socket</span>
+ <span class="ruby-ivar">@role</span> = <span class="ruby-identifier">role</span>
+ <span class="ruby-ivar">@sequence_number</span> = <span class="ruby-ivar">@packets</span> = <span class="ruby-ivar">@blocks</span> = <span class="ruby-value">0</span>
+ <span class="ruby-ivar">@cipher</span> = <span class="ruby-constant">CipherFactory</span>.<span class="ruby-identifier">get</span>(<span class="ruby-string">&quot;none&quot;</span>)
+ <span class="ruby-ivar">@block_size</span> = <span class="ruby-value">8</span>
+ <span class="ruby-ivar">@hmac</span> = <span class="ruby-constant">HMAC</span>.<span class="ruby-identifier">get</span>(<span class="ruby-string">&quot;none&quot;</span>)
+ <span class="ruby-ivar">@compression</span> = <span class="ruby-keyword">nil</span>
+ <span class="ruby-ivar">@compressor</span> = <span class="ruby-ivar">@decompressor</span> = <span class="ruby-keyword">nil</span>
+ <span class="ruby-ivar">@next_iv</span> = <span class="ruby-string">&quot;&quot;</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="cleanup-method" class="method-detail ">
+ <a name="method-i-cleanup"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">cleanup</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Closes any the <a href="State.html#method-i-compressor">compressor</a>
+and/or <a href="State.html#method-i-decompressor">decompressor</a> objects
+that have been instantiated.</p>
+
+
+
+ <div class="method-source-code" id="cleanup-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 167</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">cleanup</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@compressor</span>
+ <span class="ruby-ivar">@compressor</span>.<span class="ruby-identifier">finish</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@compressor</span>.<span class="ruby-identifier">finished?</span>
+ <span class="ruby-ivar">@compressor</span>.<span class="ruby-identifier">close</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@decompressor</span>
+ <span class="ruby-comment"># we call reset here so that we don't get warnings when we try to</span>
+ <span class="ruby-comment"># close the decompressor</span>
+ <span class="ruby-ivar">@decompressor</span>.<span class="ruby-identifier">reset</span>
+ <span class="ruby-ivar">@decompressor</span>.<span class="ruby-identifier">close</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-ivar">@compressor</span> = <span class="ruby-ivar">@decompressor</span> = <span class="ruby-keyword">nil</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- cleanup-source -->
+
+ </div>
+
+
+
+
+ </div><!-- cleanup-method -->
+
+
+ <div id="compress-method" class="method-detail ">
+ <a name="method-i-compress"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">compress</span><span
+ class="method-args">(data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Compresses the data. If no <a
+href="State.html#attribute-i-compression">compression</a> is in effect,
+this will just return the data unmodified, otherwise it uses #<a
+href="State.html#method-i-compressor">compressor</a> to <a
+href="State.html#method-i-compress">compress</a> the data.</p>
+
+
+
+ <div class="method-source-code" id="compress-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 120</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">compress</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-identifier">data</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">to_s</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">data</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">compression?</span>
+ <span class="ruby-identifier">compressor</span>.<span class="ruby-identifier">deflate</span>(<span class="ruby-identifier">data</span>, <span class="ruby-constant">Zlib</span><span class="ruby-operator">::</span><span class="ruby-constant">SYNC_FLUSH</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- compress-source -->
+
+ </div>
+
+
+
+
+ </div><!-- compress-method -->
+
+
+ <div id="compression-3F-method" class="method-detail ">
+ <a name="method-i-compression-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">compression?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns true if data <a
+href="State.html#attribute-i-compression">compression</a>/decompression is
+enabled. This will return true if :standard <a
+href="State.html#attribute-i-compression">compression</a> is selected, or
+if :delayed <a href="State.html#attribute-i-compression">compression</a> is
+selected and the :authenticated hint has been received by the <a
+href="State.html#attribute-i-socket">socket</a>.</p>
+
+
+
+ <div class="method-source-code" id="compression-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 114</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">compression?</span>
+ <span class="ruby-identifier">compression</span> <span class="ruby-operator">==</span> <span class="ruby-value">:standard</span> <span class="ruby-operator">||</span> (<span class="ruby-identifier">compression</span> <span class="ruby-operator">==</span> <span class="ruby-value">:delayed</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">hints</span>[<span class="ruby-value">:authenticated</span>])
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- compression-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- compression-3F-method -->
+
+
+ <div id="compressor-method" class="method-detail ">
+ <a name="method-i-compressor"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">compressor</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>The <a href="State.html#method-i-compressor">compressor</a> object to use
+when compressing data. This takes into account the desired <a
+href="State.html#attribute-i-compression">compression</a> level.</p>
+
+
+
+ <div class="method-source-code" id="compressor-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 101</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">compressor</span>
+ <span class="ruby-ivar">@compressor</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Zlib</span><span class="ruby-operator">::</span><span class="ruby-constant">Deflate</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">compression_level</span> <span class="ruby-operator">||</span> <span class="ruby-constant">Zlib</span><span class="ruby-operator">::</span><span class="ruby-constant">DEFAULT_COMPRESSION</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- compressor-source -->
+
+ </div>
+
+
+
+
+ </div><!-- compressor-method -->
+
+
+ <div id="decompress-method" class="method-detail ">
+ <a name="method-i-decompress"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">decompress</span><span
+ class="method-args">(data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Deompresses the data. If no <a
+href="State.html#attribute-i-compression">compression</a> is in effect,
+this will just return the data unmodified, otherwise it uses #<a
+href="State.html#method-i-decompressor">decompressor</a> to <a
+href="State.html#method-i-decompress">decompress</a> the data.</p>
+
+
+
+ <div class="method-source-code" id="decompress-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 128</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">decompress</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-identifier">data</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">to_s</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">data</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">compression?</span>
+ <span class="ruby-identifier">decompressor</span>.<span class="ruby-identifier">inflate</span>(<span class="ruby-identifier">data</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- decompress-source -->
+
+ </div>
+
+
+
+
+ </div><!-- decompress-method -->
+
+
+ <div id="decompressor-method" class="method-detail ">
+ <a name="method-i-decompressor"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">decompressor</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>The <a href="State.html#method-i-decompressor">decompressor</a> object to
+use when decompressing data.</p>
+
+
+
+ <div class="method-source-code" id="decompressor-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 106</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">decompressor</span>
+ <span class="ruby-ivar">@decompressor</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Zlib</span><span class="ruby-operator">::</span><span class="ruby-constant">Inflate</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">nil</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- decompressor-source -->
+
+ </div>
+
+
+
+
+ </div><!-- decompressor-method -->
+
+
+ <div id="final_cipher-method" class="method-detail ">
+ <a name="method-i-final_cipher"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">final_cipher</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="final_cipher-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 84</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">final_cipher</span>
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">final</span>
+ <span class="ruby-identifier">update_next_iv</span>(<span class="ruby-identifier">role</span> <span class="ruby-operator">==</span> <span class="ruby-value">:client</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">result</span> <span class="ruby-operator">:</span> <span class="ruby-string">&quot;&quot;</span>, <span class="ruby-keyword">true</span>)
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">result</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- final_cipher-source -->
+
+ </div>
+
+
+
+
+ </div><!-- final_cipher-method -->
+
+
+ <div id="increment-method" class="method-detail ">
+ <a name="method-i-increment"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">increment</span><span
+ class="method-args">(packet_length)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Increments the counters. The sequence number is incremented (and remapped
+so it always fits in a 32-bit integer). The number of <a
+href="State.html#attribute-i-packets">packets</a> and <a
+href="State.html#attribute-i-blocks">blocks</a> are also incremented.</p>
+
+
+
+ <div class="method-source-code" id="increment-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 93</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">increment</span>(<span class="ruby-identifier">packet_length</span>)
+ <span class="ruby-ivar">@sequence_number</span> = (<span class="ruby-ivar">@sequence_number</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>) &amp; <span class="ruby-value">0xFFFFFFFF</span>
+ <span class="ruby-ivar">@packets</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
+ <span class="ruby-ivar">@blocks</span> <span class="ruby-operator">+=</span> (<span class="ruby-identifier">packet_length</span> <span class="ruby-operator">+</span> <span class="ruby-value">4</span>) <span class="ruby-operator">/</span> <span class="ruby-ivar">@block_size</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- increment-source -->
+
+ </div>
+
+
+
+
+ </div><!-- increment-method -->
+
+
+ <div id="needs_rekey-3F-method" class="method-detail ">
+ <a name="method-i-needs_rekey-3F"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">needs_rekey?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns true if the number of <a
+href="State.html#attribute-i-packets">packets</a> processed exceeds the
+maximum number of <a href="State.html#attribute-i-packets">packets</a>, or
+if the number of <a href="State.html#attribute-i-blocks">blocks</a>
+processed exceeds the maximum number of <a
+href="State.html#attribute-i-blocks">blocks</a>.</p>
+
+
+
+ <div class="method-source-code" id="needs_rekey-3F-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 186</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">needs_rekey?</span>
+ <span class="ruby-identifier">max_packets</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">packets</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">max_packets</span> <span class="ruby-operator">||</span>
+ <span class="ruby-identifier">max_blocks</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">blocks</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">max_blocks</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- needs_rekey-3F-source -->
+
+ </div>
+
+
+
+
+ </div><!-- needs_rekey-3F-method -->
+
+
+ <div id="reset-21-method" class="method-detail ">
+ <a name="method-i-reset-21"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">reset!</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Resets the counters on the state object, but leaves the <a
+href="State.html#attribute-i-sequence_number">sequence_number</a>
+unchanged. It also sets defaults for and recomputes the <a
+href="State.html#attribute-i-max_packets">max_packets</a> and <a
+href="State.html#attribute-i-max_blocks">max_blocks</a> values.</p>
+
+
+
+ <div class="method-source-code" id="reset-21-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 137</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">reset!</span>
+ <span class="ruby-ivar">@packets</span> = <span class="ruby-ivar">@blocks</span> = <span class="ruby-value">0</span>
+
+ <span class="ruby-ivar">@max_packets</span> <span class="ruby-operator">||=</span> <span class="ruby-value">1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">31</span>
+
+ <span class="ruby-ivar">@block_size</span> = <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-string">&quot;RC4&quot;</span> <span class="ruby-operator">?</span> <span class="ruby-value">8</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">block_size</span>
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">max_blocks</span>.<span class="ruby-identifier">nil?</span>
+ <span class="ruby-comment"># cargo-culted from openssh. the idea is that &quot;the 2^(blocksize*2)</span>
+ <span class="ruby-comment"># limit is too expensive for 3DES, blowfish, etc., so enforce a 1GB</span>
+ <span class="ruby-comment"># limit for small blocksizes.&quot;</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@block_size</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">16</span>
+ <span class="ruby-ivar">@max_blocks</span> = <span class="ruby-value">1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-ivar">@block_size</span> * <span class="ruby-value">2</span>)
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-ivar">@max_blocks</span> = (<span class="ruby-value">1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">30</span>) <span class="ruby-operator">/</span> <span class="ruby-ivar">@block_size</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-comment"># if a limit on the # of bytes has been given, convert that into a</span>
+ <span class="ruby-comment"># minimum number of blocks processed.</span>
+
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">rekey_limit</span>
+ <span class="ruby-ivar">@max_blocks</span> = [<span class="ruby-ivar">@max_blocks</span>, <span class="ruby-identifier">rekey_limit</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@block_size</span>].<span class="ruby-identifier">min</span>
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">cleanup</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- reset-21-source -->
+
+ </div>
+
+
+
+
+ </div><!-- reset-21-method -->
+
+
+ <div id="set-method" class="method-detail ">
+ <a name="method-i-set"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">set</span><span
+ class="method-args">(values)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>A convenience method for quickly setting multiple values in a single
+command.</p>
+
+
+
+ <div class="method-source-code" id="set-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 71</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">values</span>)
+ <span class="ruby-identifier">values</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-node">&quot;@#{key}&quot;</span>, <span class="ruby-identifier">value</span>)
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-identifier">reset!</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- set-source -->
+
+ </div>
+
+
+
+
+ </div><!-- set-method -->
+
+
+ <div id="update_cipher-method" class="method-detail ">
+ <a name="method-i-update_cipher"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">update_cipher</span><span
+ class="method-args">(data)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="update_cipher-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 78</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">update_cipher</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">update</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-identifier">update_next_iv</span>(<span class="ruby-identifier">role</span> <span class="ruby-operator">==</span> <span class="ruby-value">:client</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">result</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">data</span>)
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">result</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- update_cipher-source -->
+
+ </div>
+
+
+
+
+ </div><!-- update_cipher-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Verifiers.html b/Net/SSH/Verifiers.html
new file mode 100644
index 0000000..142d2ad
--- /dev/null
+++ b/Net/SSH/Verifiers.html
@@ -0,0 +1,404 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Module: Net::SSH::Verifiers</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="module">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/verifiers/lenient_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/verifiers/lenient.rb">lib/net/ssh/verifiers/lenient.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/verifiers/null_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/verifiers/null.rb">lib/net/ssh/verifiers/null.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/verifiers/secure_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/verifiers/secure.rb">lib/net/ssh/verifiers/secure.rb</a></li>
+
+ <li><a href="../../lib/net/ssh/verifiers/strict_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/verifiers/strict.rb">lib/net/ssh/verifiers/strict.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+
+
+
+
+ <!-- Namespace Contents -->
+ <div id="namespace-list-section" class="section">
+ <h3 class="section-header">Namespace</h3>
+ <ul class="link-list">
+
+ <li><span class="type">CLASS</span> <a href="Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><span class="type">CLASS</span> <a href="Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ </ul>
+ </div>
+
+
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="module">Net::SSH::Verifiers</h1>
+
+ <div id="description" class="description">
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Verifiers/Lenient.html b/Net/SSH/Verifiers/Lenient.html
new file mode 100644
index 0000000..d5ca693
--- /dev/null
+++ b/Net/SSH/Verifiers/Lenient.html
@@ -0,0 +1,445 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Verifiers::Lenient</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/verifiers/lenient_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/verifiers/lenient.rb">lib/net/ssh/verifiers/lenient.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Strict</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-verify">#verify</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Verifiers::Lenient</h1>
+
+ <div id="description" class="description">
+
+<p>Basically the same as the <a href="Strict.html">Strict</a> verifier, but
+does not try to actually <a href="Lenient.html#method-i-verify">verify</a>
+a connection if the server is the localhost and the port is a nonstandard
+port number. Those two conditions will typically mean the connection is
+being tunnelled through a forwarded port, so the known-hosts file will not
+be helpful (in general).</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="verify-method" class="method-detail ">
+ <a name="method-i-verify"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">verify</span><span
+ class="method-args">(arguments)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Tries to determine if the connection is being tunnelled, and if so, returns
+true. Otherwise, performs the standard strict verification.</p>
+
+
+
+ <div class="method-source-code" id="verify-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/verifiers/lenient.rb, line 13</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">verify</span>(<span class="ruby-identifier">arguments</span>)
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">tunnelled?</span>(<span class="ruby-identifier">arguments</span>)
+ <span class="ruby-keyword">super</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- verify-source -->
+
+ </div>
+
+
+
+
+ </div><!-- verify-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Verifiers/Null.html b/Net/SSH/Verifiers/Null.html
new file mode 100644
index 0000000..23a0a98
--- /dev/null
+++ b/Net/SSH/Verifiers/Null.html
@@ -0,0 +1,441 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Verifiers::Null</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/verifiers/null_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/verifiers/null.rb">lib/net/ssh/verifiers/null.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-verify">#verify</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Verifiers::Null</h1>
+
+ <div id="description" class="description">
+
+<p>The <a href="Null.html">Null</a> host key verifier simply allows every key
+it sees, without bothering to <a
+href="Null.html#method-i-verify">verify</a>. This is simple, but is not
+particularly secure.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="verify-method" class="method-detail ">
+ <a name="method-i-verify"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">verify</span><span
+ class="method-args">(arguments)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Returns true.</p>
+
+
+
+ <div class="method-source-code" id="verify-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/verifiers/null.rb, line 7</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">verify</span>(<span class="ruby-identifier">arguments</span>)
+ <span class="ruby-keyword">true</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- verify-source -->
+
+ </div>
+
+
+
+
+ </div><!-- verify-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Verifiers/Secure.html b/Net/SSH/Verifiers/Secure.html
new file mode 100644
index 0000000..9e3c897
--- /dev/null
+++ b/Net/SSH/Verifiers/Secure.html
@@ -0,0 +1,468 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Verifiers::Secure</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/verifiers/secure_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/verifiers/secure.rb">lib/net/ssh/verifiers/secure.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-verify">#verify</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Verifiers::Secure</h1>
+
+ <div id="description" class="description">
+
+<p>Does a strict host verification, looking the server up in the known host
+files to see if a key has already been seen for this server. If this server
+does not appear in any host file, an exception will be raised (<a
+href="../HostKeyUnknown.html">HostKeyUnknown</a>). This is in contrast to
+the “Strict” class, which will silently add the key to your known_hosts
+file. If the server does appear at least once, but the key given does not
+match any known for the server, an exception will be raised (<a
+href="../HostKeyMismatch.html">HostKeyMismatch</a>). Otherwise, this
+returns true.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="verify-method" class="method-detail ">
+ <a name="method-i-verify"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">verify</span><span
+ class="method-args">(arguments)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="verify-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/verifiers/secure.rb, line 15</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">verify</span>(<span class="ruby-identifier">arguments</span>)
+ <span class="ruby-identifier">options</span> = <span class="ruby-identifier">arguments</span>[<span class="ruby-value">:session</span>].<span class="ruby-identifier">options</span>
+ <span class="ruby-identifier">host</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:host_key_alias</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">arguments</span>[<span class="ruby-value">:session</span>].<span class="ruby-identifier">host_as_string</span>
+ <span class="ruby-identifier">matches</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">KnownHosts</span>.<span class="ruby-identifier">search_for</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">arguments</span>[<span class="ruby-value">:session</span>].<span class="ruby-identifier">options</span>)
+
+ <span class="ruby-comment"># We've never seen this host before, so raise an exception.</span>
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">matches</span>.<span class="ruby-identifier">empty?</span>
+ <span class="ruby-identifier">process_cache_miss</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">arguments</span>, <span class="ruby-constant">HostKeyUnknown</span>, <span class="ruby-string">&quot;is unknown&quot;</span>)
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-comment"># If we found any matches, check to see that the key type and</span>
+ <span class="ruby-comment"># blob also match.</span>
+ <span class="ruby-identifier">found</span> = <span class="ruby-identifier">matches</span>.<span class="ruby-identifier">any?</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">key</span>.<span class="ruby-identifier">ssh_type</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">arguments</span>[<span class="ruby-value">:key</span>].<span class="ruby-identifier">ssh_type</span> <span class="ruby-operator">&amp;&amp;</span>
+ <span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_blob</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">arguments</span>[<span class="ruby-value">:key</span>].<span class="ruby-identifier">to_blob</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-comment"># If a match was found, return true. Otherwise, raise an exception</span>
+ <span class="ruby-comment"># indicating that the key was not recognized.</span>
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">found</span>
+ <span class="ruby-identifier">process_cache_miss</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">arguments</span>, <span class="ruby-constant">HostKeyMismatch</span>, <span class="ruby-string">&quot;does not match&quot;</span>)
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">found</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- verify-source -->
+
+ </div>
+
+
+
+
+ </div><!-- verify-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Verifiers/Strict.html b/Net/SSH/Verifiers/Strict.html
new file mode 100644
index 0000000..1c7ff5f
--- /dev/null
+++ b/Net/SSH/Verifiers/Strict.html
@@ -0,0 +1,449 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Verifiers::Strict</title>
+
+ <link rel="stylesheet" href="../../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../../index.html">Home</a>
+ <a href="../../../index.html#classes">Classes</a>
+ <a href="../../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../../lib/net/ssh/verifiers/strict_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/verifiers/strict.rb">lib/net/ssh/verifiers/strict.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link"><a href="Secure.html">Net::SSH::Verifiers::Secure</a></p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-i-verify">#verify</a></li>
+
+ </ul>
+ </div>
+
+
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../../Net.html">Net</a></li>
+
+ <li><a href="../../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Verifiers::Strict</h1>
+
+ <div id="description" class="description">
+
+<p>Does a strict host verification, looking the server up in the known host
+files to see if a key has already been seen for this server. If this server
+does not appear in any host file, this will silently add the server. If the
+server does appear at least once, but the key given does not match any
+known for the server, an exception will be raised (<a
+href="../HostKeyMismatch.html">HostKeyMismatch</a>). Otherwise, this
+returns true.</p>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+ <!-- Methods -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="verify-method" class="method-detail ">
+ <a name="method-i-verify"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">verify</span><span
+ class="method-args">(arguments)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+ <div class="method-source-code" id="verify-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/verifiers/strict.rb, line 14</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">verify</span>(<span class="ruby-identifier">arguments</span>)
+ <span class="ruby-keyword">begin</span>
+ <span class="ruby-keyword">super</span>
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">HostKeyUnknown</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">err</span>
+ <span class="ruby-identifier">err</span>.<span class="ruby-identifier">remember_host!</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- verify-source -->
+
+ </div>
+
+
+
+
+ </div><!-- verify-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+
diff --git a/Net/SSH/Version.html b/Net/SSH/Version.html
new file mode 100644
index 0000000..925fa2d
--- /dev/null
+++ b/Net/SSH/Version.html
@@ -0,0 +1,703 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>Class: Net::SSH::Version</title>
+
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
+
+ <script src="../../js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="../../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
+</head>
+<body id="top" class="class">
+
+ <div id="metadata">
+ <div id="home-metadata">
+ <div id="home-section" class="section">
+ <h3 class="section-header">
+ <a href="../../index.html">Home</a>
+ <a href="../../index.html#classes">Classes</a>
+ <a href="../../index.html#methods">Methods</a>
+ </h3>
+ </div>
+ </div>
+
+ <div id="file-metadata">
+ <div id="file-list-section" class="section">
+ <h3 class="section-header">In Files</h3>
+ <div class="section-body">
+ <ul>
+
+ <li><a href="../../lib/net/ssh/version_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
+ class="thickbox" title="lib/net/ssh/version.rb">lib/net/ssh/version.rb</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+
+ </div>
+
+ <div id="class-metadata">
+
+ <!-- Parent Class -->
+ <div id="parent-class-section" class="section">
+ <h3 class="section-header">Parent</h3>
+
+ <p class="link">Object</p>
+
+ </div>
+
+
+
+
+
+
+
+ <!-- Method Quickref -->
+ <div id="method-list-section" class="section">
+ <h3 class="section-header">Methods</h3>
+ <ul class="link-list">
+
+ <li><a href="#method-c-5B-5D">::[]</a></li>
+
+ <li><a href="#method-c-new">::new</a></li>
+
+ <li><a href="#method-i-3C-3D-3E">#<=></a></li>
+
+ <li><a href="#method-i-to_i">#to_i</a></li>
+
+ <li><a href="#method-i-to_s">#to_s</a></li>
+
+ </ul>
+ </div>
+
+
+
+ <!-- Included Modules -->
+ <div id="includes-section" class="section">
+ <h3 class="section-header">Included Modules</h3>
+ <ul class="link-list">
+
+
+ <li><span class="include">Comparable</span></li>
+
+
+ </ul>
+ </div>
+
+ </div>
+
+ <div id="project-metadata">
+
+
+ <div id="fileindex-section" class="section project-section">
+ <h3 class="section-header">Files</h3>
+ <ul>
+
+ <li class="file"><a href="../../CHANGELOG_rdoc.html">CHANGELOG.rdoc</a></li>
+
+ <li class="file"><a href="../../LICENSE_rdoc.html">LICENSE.rdoc</a></li>
+
+ <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
+
+ <li class="file"><a href="../../THANKS_rdoc.html">THANKS.rdoc</a></li>
+
+ </ul>
+ </div>
+
+
+ <div id="classindex-section" class="section project-section">
+ <h3 class="section-header">Class/Module Index
+ <span class="search-toggle"><img src="../../images/find.png"
+ height="16" width="16" alt="[+]"
+ title="show/hide quicksearch" /></span></h3>
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
+ <fieldset>
+ <legend>Quicksearch</legend>
+ <input type="text" name="quicksearch" value=""
+ class="quicksearch-field" />
+ </fieldset>
+ </form>
+
+ <ul class="link-list">
+
+ <li><a href="../../Net.html">Net</a></li>
+
+ <li><a href="../../Net/SSH.html">Net::SSH</a></li>
+
+ <li><a href="../../Net/SSH/Authentication.html">Net::SSH::Authentication</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent.html">Net::SSH::Authentication::Agent</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Comment.html">Net::SSH::Authentication::Agent::Comment</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Agent/Key.html">Net::SSH::Authentication::Agent::Key</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentError.html">Net::SSH::Authentication::AgentError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/AgentNotAvailable.html">Net::SSH::Authentication::AgentNotAvailable</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Constants.html">Net::SSH::Authentication::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/DisallowedMethod.html">Net::SSH::Authentication::DisallowedMethod</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManager.html">Net::SSH::Authentication::KeyManager</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/KeyManagerError.html">Net::SSH::Authentication::KeyManagerError</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods.html">Net::SSH::Authentication::Methods</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Abstract.html">Net::SSH::Authentication::Methods::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Hostbased.html">Net::SSH::Authentication::Methods::Hostbased</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/KeyboardInteractive.html">Net::SSH::Authentication::Methods::KeyboardInteractive</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Password.html">Net::SSH::Authentication::Methods::Password</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Methods/Publickey.html">Net::SSH::Authentication::Methods::Publickey</a></li>
+
+ <li><a href="../../Net/SSH/Authentication/Session.html">Net::SSH::Authentication::Session</a></li>
+
+ <li><a href="../../Net/SSH/AuthenticationFailed.html">Net::SSH::AuthenticationFailed</a></li>
+
+ <li><a href="../../Net/SSH/Buffer.html">Net::SSH::Buffer</a></li>
+
+ <li><a href="../../Net/SSH/BufferedIo.html">Net::SSH::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/ChannelOpenFailed.html">Net::SSH::ChannelOpenFailed</a></li>
+
+ <li><a href="../../Net/SSH/ChannelRequestFailed.html">Net::SSH::ChannelRequestFailed</a></li>
+
+ <li><a href="../../Net/SSH/Compat.html">Net::SSH::Compat</a></li>
+
+ <li><a href="../../Net/SSH/Config.html">Net::SSH::Config</a></li>
+
+ <li><a href="../../Net/SSH/Connection.html">Net::SSH::Connection</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Channel.html">Net::SSH::Connection::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Constants.html">Net::SSH::Connection::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session.html">Net::SSH::Connection::Session</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Session/NilChannel.html">Net::SSH::Connection::Session::NilChannel</a></li>
+
+ <li><a href="../../Net/SSH/Connection/Term.html">Net::SSH::Connection::Term</a></li>
+
+ <li><a href="../../Net/SSH/ConnectionTimeout.html">Net::SSH::ConnectionTimeout</a></li>
+
+ <li><a href="../../Net/SSH/Disconnect.html">Net::SSH::Disconnect</a></li>
+
+ <li><a href="../../Net/SSH/Exception.html">Net::SSH::Exception</a></li>
+
+ <li><a href="../../Net/SSH/ForwardedBufferedIo.html">Net::SSH::ForwardedBufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyError.html">Net::SSH::HostKeyError</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyMismatch.html">Net::SSH::HostKeyMismatch</a></li>
+
+ <li><a href="../../Net/SSH/HostKeyUnknown.html">Net::SSH::HostKeyUnknown</a></li>
+
+ <li><a href="../../Net/SSH/KeyFactory.html">Net::SSH::KeyFactory</a></li>
+
+ <li><a href="../../Net/SSH/KnownHosts.html">Net::SSH::KnownHosts</a></li>
+
+ <li><a href="../../Net/SSH/Loggable.html">Net::SSH::Loggable</a></li>
+
+ <li><a href="../../Net/SSH/Packet.html">Net::SSH::Packet</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods.html">Net::SSH::PromptMethods</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Clear.html">Net::SSH::PromptMethods::Clear</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Highline.html">Net::SSH::PromptMethods::Highline</a></li>
+
+ <li><a href="../../Net/SSH/PromptMethods/Termios.html">Net::SSH::PromptMethods::Termios</a></li>
+
+ <li><a href="../../Net/SSH/Proxy.html">Net::SSH::Proxy</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Command.html">Net::SSH::Proxy::Command</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/ConnectError.html">Net::SSH::Proxy::ConnectError</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/Error.html">Net::SSH::Proxy::Error</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/HTTP.html">Net::SSH::Proxy::HTTP</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS4.html">Net::SSH::Proxy::SOCKS4</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/SOCKS5.html">Net::SSH::Proxy::SOCKS5</a></li>
+
+ <li><a href="../../Net/SSH/Proxy/UnauthorizedError.html">Net::SSH::Proxy::UnauthorizedError</a></li>
+
+ <li><a href="../../Net/SSH/Service.html">Net::SSH::Service</a></li>
+
+ <li><a href="../../Net/SSH/Service/Forward.html">Net::SSH::Service::Forward</a></li>
+
+ <li><a href="../../Net/SSH/Test.html">Net::SSH::Test</a></li>
+
+ <li><a href="../../Net/SSH/Test/Channel.html">Net::SSH::Test::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions.html">Net::SSH::Test::Extensions</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/BufferedIo.html">Net::SSH::Test::Extensions::BufferedIo</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/Channel.html">Net::SSH::Test::Extensions::Channel</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO.html">Net::SSH::Test::Extensions::IO</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/IO/ClassMethods.html">Net::SSH::Test::Extensions::IO::ClassMethods</a></li>
+
+ <li><a href="../../Net/SSH/Test/Extensions/PacketStream.html">Net::SSH::Test::Extensions::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Test/Kex.html">Net::SSH::Test::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Test/LocalPacket.html">Net::SSH::Test::LocalPacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Packet.html">Net::SSH::Test::Packet</a></li>
+
+ <li><a href="../../Net/SSH/Test/RemotePacket.html">Net::SSH::Test::RemotePacket</a></li>
+
+ <li><a href="../../Net/SSH/Test/Script.html">Net::SSH::Test::Script</a></li>
+
+ <li><a href="../../Net/SSH/Test/Socket.html">Net::SSH::Test::Socket</a></li>
+
+ <li><a href="../../Net/SSH/Transport.html">Net::SSH::Transport</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Algorithms.html">Net::SSH::Transport::Algorithms</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CTR.html">Net::SSH::Transport::CTR</a></li>
+
+ <li><a href="../../Net/SSH/Transport/CipherFactory.html">Net::SSH::Transport::CipherFactory</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Constants.html">Net::SSH::Transport::Constants</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC.html">Net::SSH::Transport::HMAC</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/Abstract.html">Net::SSH::Transport::HMAC::Abstract</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5.html">Net::SSH::Transport::HMAC::MD5</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/MD5_96.html">Net::SSH::Transport::HMAC::MD5_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/None.html">Net::SSH::Transport::HMAC::None</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/RIPEMD160.html">Net::SSH::Transport::HMAC::RIPEMD160</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1.html">Net::SSH::Transport::HMAC::SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA1_96.html">Net::SSH::Transport::HMAC::SHA1_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256.html">Net::SSH::Transport::HMAC::SHA2_256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_256_96.html">Net::SSH::Transport::HMAC::SHA2_256_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512.html">Net::SSH::Transport::HMAC::SHA2_512</a></li>
+
+ <li><a href="../../Net/SSH/Transport/HMAC/SHA2_512_96.html">Net::SSH::Transport::HMAC::SHA2_512_96</a></li>
+
+ <li><a href="../../Net/SSH/Transport/IdentityCipher.html">Net::SSH::Transport::IdentityCipher</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex.html">Net::SSH::Transport::Kex</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html">Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP256.html">Net::SSH::Transport::Kex::EcdhSHA2NistP256</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP384.html">Net::SSH::Transport::Kex::EcdhSHA2NistP384</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Kex/EcdhSHA2NistP521.html">Net::SSH::Transport::Kex::EcdhSHA2NistP521</a></li>
+
+ <li><a href="../../Net/SSH/Transport/KeyExpander.html">Net::SSH::Transport::KeyExpander</a></li>
+
+ <li><a href="../../Net/SSH/Transport/PacketStream.html">Net::SSH::Transport::PacketStream</a></li>
+
+ <li><a href="../../Net/SSH/Transport/ServerVersion.html">Net::SSH::Transport::ServerVersion</a></li>
+
+ <li><a href="../../Net/SSH/Transport/Session.html">Net::SSH::Transport::Session</a></li>
+
+ <li><a href="../../Net/SSH/Transport/State.html">Net::SSH::Transport::State</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers.html">Net::SSH::Verifiers</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Lenient.html">Net::SSH::Verifiers::Lenient</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Null.html">Net::SSH::Verifiers::Null</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Secure.html">Net::SSH::Verifiers::Secure</a></li>
+
+ <li><a href="../../Net/SSH/Verifiers/Strict.html">Net::SSH::Verifiers::Strict</a></li>
+
+ <li><a href="../../Net/SSH/Version.html">Net::SSH::Version</a></li>
+
+ <li><a href="../../OpenSSL.html">OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/BN.html">OpenSSL::BN</a></li>
+
+ <li><a href="../../OpenSSL/PKey.html">OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DH.html">OpenSSL::PKey::DH</a></li>
+
+ <li><a href="../../OpenSSL/PKey/DSA.html">OpenSSL::PKey::DSA</a></li>
+
+ <li><a href="../../OpenSSL/PKey/EC.html">OpenSSL::PKey::EC</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/OpenSSL/PKey/OpenSSL/PKey/ECError.html">OpenSSL::PKey::OpenSSL::PKey::OpenSSL::PKey::ECError</a></li>
+
+ <li><a href="../../OpenSSL/PKey/PKey.html">OpenSSL::PKey::PKey</a></li>
+
+ <li><a href="../../OpenSSL/PKey/RSA.html">OpenSSL::PKey::RSA</a></li>
+
+ <li><a href="../../String.html">String</a></li>
+
+ </ul>
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
+ </div>
+
+
+ </div>
+ </div>
+
+ <div id="documentation">
+ <h1 class="class">Net::SSH::Version</h1>
+
+ <div id="description" class="description">
+
+<p>A class for describing the current version of a library. The version
+consists of three parts: the <tt>major</tt> number, the <tt>minor</tt>
+number, and the <tt>tiny</tt> (or <tt>patch</tt>) number.</p>
+
+<p>Two <a href="Version.html">Version</a> instances may be compared, so that
+you can test that a version of a library is what you require:</p>
+
+<pre>require 'net/ssh/version'
+
+if Net::SSH::Version::CURRENT &lt; Net::SSH::Version[2,1,0]
+ abort &quot;your software is too old!&quot;
+end</pre>
+
+ </div><!-- description -->
+
+
+
+
+ <div id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <!-- Constants -->
+ <div id="constants-list" class="section">
+ <h3 class="section-header">Constants</h3>
+ <dl>
+
+ <dt><a name="CURRENT">CURRENT</a></dt>
+
+ <dd class="description"><p>The current version of the <a href="../SSH.html">Net::SSH</a> library as a
+<a href="Version.html">Version</a> instance</p></dd>
+
+
+ <dt><a name="MAJOR">MAJOR</a></dt>
+
+ <dd class="description"><p>The <a href="Version.html#attribute-i-major">major</a> component of this
+version of the <a href="../SSH.html">Net::SSH</a> library</p></dd>
+
+
+ <dt><a name="MINOR">MINOR</a></dt>
+
+ <dd class="description"><p>The <a href="Version.html#attribute-i-minor">minor</a> component of this
+version of the <a href="../SSH.html">Net::SSH</a> library</p></dd>
+
+
+ <dt><a name="STRING">STRING</a></dt>
+
+ <dd class="description"><p>The current version of the <a href="../SSH.html">Net::SSH</a> library as a
+<a href="../../String.html">String</a></p></dd>
+
+
+ <dt><a name="TINY">TINY</a></dt>
+
+ <dd class="description"><p>The <a href="Version.html#attribute-i-tiny">tiny</a> component of this
+version of the <a href="../SSH.html">Net::SSH</a> library</p></dd>
+
+
+ </dl>
+ </div>
+
+
+
+ <!-- Attributes -->
+ <div id="attribute-method-details" class="method-section section">
+ <h3 class="section-header">Attributes</h3>
+
+
+ <div id="major-attribute-method" class="method-detail">
+ <a name="major"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">major</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
+ <div id="minor-attribute-method" class="method-detail">
+ <a name="minor"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">minor</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
+ <div id="tiny-attribute-method" class="method-detail">
+ <a name="tiny"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">tiny</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
+ </div><!-- attribute-method-details -->
+
+
+ <!-- Methods -->
+
+ <div id="public-class-method-details" class="method-section section">
+ <h3 class="section-header">Public Class Methods</h3>
+
+
+ <div id="5B-5D-method" class="method-detail ">
+ <a name="method-c-5B-5D"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">[]</span><span
+ class="method-args">(major, minor, tiny)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>A convenience method for instantiating a <a
+href="Version.html#method-c-new">new</a> <a href="Version.html">Version</a>
+instance with the given <tt>major</tt>, <tt>minor</tt>, and <tt>tiny</tt>
+components.</p>
+
+
+
+ <div class="method-source-code" id="5B-5D-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/version.rb, line 19</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-operator">[]</span>(<span class="ruby-identifier">major</span>, <span class="ruby-identifier">minor</span>, <span class="ruby-identifier">tiny</span>)
+ <span class="ruby-identifier">new</span>(<span class="ruby-identifier">major</span>, <span class="ruby-identifier">minor</span>, <span class="ruby-identifier">tiny</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- 5B-5D-source -->
+
+ </div>
+
+
+
+
+ </div><!-- 5B-5D-method -->
+
+
+ <div id="new-method" class="method-detail ">
+ <a name="method-c-new"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(major, minor, tiny)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Create a <a href="Version.html#method-c-new">new</a> <a
+href="Version.html">Version</a> object with the given components.</p>
+
+
+
+ <div class="method-source-code" id="new-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/version.rb, line 26</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">major</span>, <span class="ruby-identifier">minor</span>, <span class="ruby-identifier">tiny</span>)
+ <span class="ruby-ivar">@major</span>, <span class="ruby-ivar">@minor</span>, <span class="ruby-ivar">@tiny</span> = <span class="ruby-identifier">major</span>, <span class="ruby-identifier">minor</span>, <span class="ruby-identifier">tiny</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- new-source -->
+
+ </div>
+
+
+
+
+ </div><!-- new-method -->
+
+
+ </div><!-- public-class-method-details -->
+
+ <div id="public-instance-method-details" class="method-section section">
+ <h3 class="section-header">Public Instance Methods</h3>
+
+
+ <div id="3C-3D-3E-method" class="method-detail ">
+ <a name="method-i-3C-3D-3E"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">&lt;=&gt;</span><span
+ class="method-args">(version)</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Compare this version to the given <tt>version</tt> object.</p>
+
+
+
+ <div class="method-source-code" id="3C-3D-3E-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/version.rb, line 31</span>
+<span class="ruby-keyword">def</span> <span class="ruby-operator">&lt;=&gt;</span>(<span class="ruby-identifier">version</span>)
+ <span class="ruby-identifier">to_i</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">version</span>.<span class="ruby-identifier">to_i</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- 3C-3D-3E-source -->
+
+ </div>
+
+
+
+
+ </div><!-- 3C-3D-3E-method -->
+
+
+ <div id="to_i-method" class="method-detail ">
+ <a name="method-i-to_i"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">to_i</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Converts this version to a canonical integer that may be compared against
+other version objects.</p>
+
+
+
+ <div class="method-source-code" id="to_i-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/version.rb, line 43</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_i</span>
+ <span class="ruby-ivar">@to_i</span> <span class="ruby-operator">||=</span> <span class="ruby-ivar">@major</span> * <span class="ruby-value">1_000_000</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@minor</span> * <span class="ruby-value">1_000</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@tiny</span>
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- to_i-source -->
+
+ </div>
+
+
+
+
+ </div><!-- to_i-method -->
+
+
+ <div id="to_s-method" class="method-detail ">
+ <a name="method-i-to_s"></a>
+
+
+ <div class="method-heading">
+ <span class="method-name">to_s</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+
+
+ <div class="method-description">
+
+ <p>Converts this version object to a string, where each of the three version
+components are joined by the ‘.’ character. E.g., 2.0.0.</p>
+
+
+
+ <div class="method-source-code" id="to_s-source">
+<pre>
+<span class="ruby-comment"># File lib/net/ssh/version.rb, line 37</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_s</span>
+ <span class="ruby-ivar">@to_s</span> <span class="ruby-operator">||=</span> [<span class="ruby-ivar">@major</span>, <span class="ruby-ivar">@minor</span>, <span class="ruby-ivar">@tiny</span>].<span class="ruby-identifier">join</span>(<span class="ruby-string">&quot;.&quot;</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div><!-- to_s-source -->
+
+ </div>
+
+
+
+
+ </div><!-- to_s-method -->
+
+
+ </div><!-- public-instance-method-details -->
+
+ </div><!-- 5Buntitled-5D -->
+
+
+ </div><!-- documentation -->
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 2</small>.</p>
+ </div>
+
+</body>
+</html>
+