diff options
author | delano <delano.mandelbaum@gmail.com> | 2012-09-19 12:27:19 -0400 |
---|---|---|
committer | delano <delano.mandelbaum@gmail.com> | 2012-09-19 12:27:19 -0400 |
commit | 91507078e50ff9712222a3e2865ee3f5f6954ad9 (patch) | |
tree | da9f9ba07262d6941a6a74f5447dafdc95446f6b /Net | |
parent | e6002289f13528beeb8664076331b90455eb2f11 (diff) | |
download | net-ssh-91507078e50ff9712222a3e2865ee3f5f6954ad9.tar.gz |
Updated docs
Diffstat (limited to 'Net')
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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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("host", "user", :password => "password") do |ssh| + result = ssh.exec!("ls -l") + puts result +end</pre> + +<h2>X == “forward connections on a local port to a remote host”</h2> + +<pre>Net::SSH.start("host", "user", :password => "password") do |ssh| + ssh.forward.local(1234, "www.google.com", 80) + ssh.loop { true } +end</pre> + +<h2>X == “forward connections on a remote port to the local host”</h2> + +<pre>Net::SSH.start("host", "user", :password => "password") do |ssh| + ssh.forward.remote(80, "www.google.com", 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("host", "user") do |ssh| + ssh.exec! "cp /some/file /another/location" + hostname = ssh.exec!("hostname") + + ssh.open_channel do |ch| + ch.exec "sudo -p 'sudo password: ' ls" do |ch, success| + abort "could not execute sudo ls" unless success + + ch.on_data do |ch, data| + print data + if data =~ /sudo password: / + ch.send_data("password\n") + end + end + end + end + + ssh.loop +end</pre> + +<p>This method accepts the following options (all are optional):</p> +<ul><li> +<p>:auth_methods => an array of authentication methods to try</p> +</li><li> +<p>:bind_address => 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 => the compression algorithm to use, or <tt>true</tt> to +use whatever is supported.</p> +</li><li> +<p>:compression_level => the compression level to use when sending data</p> +</li><li> +<p>:config => 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 => the encryption cipher (or ciphers) to use</p> +</li><li> +<p>:forward_agent => 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 => 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 => the hmac algorithm (or algorithms) to use</p> +</li><li> +<p>:host_key => the host key algorithm (or algorithms) to use</p> +</li><li> +<p>:host_key_alias => the host name to use when looking up or adding a host +to a known_hosts dictionary file</p> +</li><li> +<p>:host_name => 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 => the key exchange algorithm (or algorithms) to use</p> +</li><li> +<p>:keys => an array of file names of private keys to use for publickey and +hostbased authentication</p> +</li><li> +<p>:key_data => an array of strings, with each element of the array being a +raw private key in PEM format.</p> +</li><li> +<p>:keys_only => 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 => the logger instance to use when logging</p> +</li><li> +<p>:paranoid => either false, true, :very, or :secure specifying how strict +host-key verification should be (in increasing order here)</p> +</li><li> +<p>:passphrase => the passphrase to use when loading a private key (default +is <tt>nil</tt>, for no passphrase)</p> +</li><li> +<p>:password => the password to use to login</p> +</li><li> +<p>:port => the port to use when connecting to the remote host</p> +</li><li> +<p>:properties => 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 => a proxy instance (see <a href="SSH/Proxy.html">Proxy</a>) to +use when connecting</p> +</li><li> +<p>:rekey_blocks_limit => the max number of blocks to process before +rekeying</p> +</li><li> +<p>:rekey_limit => the max number of bytes to process before rekeying</p> +</li><li> +<p>:rekey_packet_limit => the max number of packets to process before +rekeying</p> +</li><li> +<p>:timeout => how long to wait for the initial connection to be made</p> +</li><li> +<p>:user => 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 => 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 => 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>={}, &<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">"invalid option(s): #{invalid_options.join(', ')}"</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">"can't convert #{options[:verbose].inspect} to any of the Logger level constants"</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">"ssh-connection"</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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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 <arturas.slajus@gmail.com></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">"connecting to Pageant ssh-agent (via java connector)"</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">"Pageant is not running!"</span> + <span class="ruby-keyword">end</span> + <span class="ruby-identifier">debug</span> { <span class="ruby-string">"connection to Pageant ssh-agent (via java connector) succeeded"</span> } +<span class="ruby-keyword">rescue</span> <span class="ruby-constant">AgentProxyException</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span> + <span class="ruby-identifier">error</span> { <span class="ruby-string">"could not connect to Pageant ssh-agent (via java connector)"</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">"getting identities from Pageant"</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">></span> <span class="ruby-identifier">e</span> + <span class="ruby-identifier">raise</span> <span class="ruby-constant">AgentError</span>, <span class="ruby-node">"Cannot get identities: #{e.message}"</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">"SSH2 agents are not yet supported"</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">&&</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">"unknown response from agent: #{type}, #{body.to_s.inspect}"</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">></span> <span class="ruby-identifier">e</span> + <span class="ruby-identifier">raise</span> <span class="ruby-constant">AgentError</span>, + <span class="ruby-node">"agent could not sign data with requested identity: #{e.message}"</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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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">&&</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">></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">"the given identity is unknown to the key manager"</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">&&</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">></span> <span class="ruby-identifier">e</span> + <span class="ruby-identifier">raise</span> <span class="ruby-constant">KeyManagerError</span>, <span class="ruby-node">"the given identity is known, but the private key could not be loaded: #{e.class} (#{e.message})"</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">"the agent is no longer available"</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">"[BUG] can't determine identity origin (#{info.inspect})"</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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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">"don't know how to write #{value.inspect}"</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&height=550&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&height=550&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">"trying keyboard-interactive"</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">"keyboard-interactive"</span>, <span class="ruby-string">""</span>, <span class="ruby-string">""</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">"keyboard-interactive succeeded"</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">"keyboard-interactive failed"</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">"keyboard-interactive info request"</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"><<</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">"unexpected reply in keyboard interactive: #{message.type} (#{message.inspect})"</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&height=550&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">"password"</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">"password succeeded"</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">"password failed"</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">"password change request received, failing"</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">"unexpected reply to USERAUTH_REQUEST: #{message.type} (#{message.inspect})"</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&height=550&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&height=550&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">"beginning authentication of `#{username}'"</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">"ssh-userauth"</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"><<</span> <span class="ruby-identifier">name</span> + + <span class="ruby-identifier">debug</span> { <span class="ruby-node">"trying #{name}"</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">></span> <span class="ruby-identifier">key_manager</span>) + <span class="ruby-keyword">rescue</span> <span class="ruby-constant">NameError</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">ne</span> + <span class="ruby-identifier">debug</span>{<span class="ruby-node">"Mechanism #{name} was requested, but isn't a known type. Ignoring it."</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">"all authorization methods failed (tried #{attempted.join(', ')})"</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">"expected #{type}, got #{message.type} (#{message})"</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">"allowed methods: #{packet[:authentications]}"</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">"unexpected message #{packet.type} (#{packet})"</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&height=550&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&height=550&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, "hello", :raw, "\1\2\3\4") +#-> "\1\0\0\0\5hello\1\2\3\4"</pre> + +<p>The supported data types are:</p> +<ul><li> +<p>:raw => <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 => <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 => <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 => <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 => <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 => <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 => <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 => <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">"odd number of arguments given"</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">"write_#{type}"</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">"write_#{type}"</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">""</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"><<</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">""</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">>=</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">></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">""</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"><</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">>=</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">></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"><<</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">"ssh-dss"</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">"ssh-rsa"</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">"unsupported key type `#{type}'"</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">></span> <span class="ruby-identifier">e</span> + <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>, <span class="ruby-node">"unsupported key type `#{type}'"</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">"unsupported key type `#{type}'"</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">"N"</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">$&</span>.<span class="ruby-identifier">length</span> + <span class="ruby-keyword">end</span> + <span class="ruby-identifier">index</span> <span class="ruby-operator">&&</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">""</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"><<</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"><<</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"><<</span> (<span class="ruby-identifier">v</span> <span class="ruby-operator">?</span> <span class="ruby-string">"\11""</span> <span class="ruby-operator">:</span> <span class="ruby-string">"\00""</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"><<</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">>></span> <span class="ruby-value">32</span>) & <span class="ruby-value">0xFFFFFFFF</span> + <span class="ruby-identifier">lo</span> = <span class="ruby-identifier">i</span> & <span class="ruby-value">0xFFFFFFFF</span> + <span class="ruby-ivar">@content</span> <span class="ruby-operator"><<</span> [<span class="ruby-identifier">hi</span>, <span class="ruby-identifier">lo</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">"N2"</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"><<</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">pack</span>(<span class="ruby-string">"N*"</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&height=550&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 > 0 + puts socket.read_available + socket.enqueue("response\n") + 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 < 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">"read #{data.length} bytes"</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">></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">></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">"sent #{sent} bytes"</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">></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">></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&height=550&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">"#{reason} (#{code})"</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&height=550&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&height=550&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&height=550&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 => maps to the :encryption option</p> +</li><li> +<p>Compression => :compression</p> +</li><li> +<p>CompressionLevel => :compression_level</p> +</li><li> +<p>ConnectTimeout => maps to the :timeout option</p> +</li><li> +<p>ForwardAgent => :forward_agent</p> +</li><li> +<p>GlobalKnownHostsFile => :global_known_hosts_file</p> +</li><li> +<p>HostBasedAuthentication => maps to the :auth_methods option</p> +</li><li> +<p>HostKeyAlgorithms => maps to :host_key option</p> +</li><li> +<p>HostKeyAlias => :host_key_alias</p> +</li><li> +<p>HostName => :host_name</p> +</li><li> +<p>IdentityFile => maps to the :keys option</p> +</li><li> +<p>IdentitiesOnly => :keys_only</p> +</li><li> +<p>Macs => maps to the :hmac option</p> +</li><li> +<p>PasswordAuthentication => maps to the :auth_methods option</p> +</li><li> +<p>Port => :port</p> +</li><li> +<p>PreferredAuthentications => maps to the :auth_methods option</p> +</li><li> +<p>ProxyCommand => maps to the :proxy option</p> +</li><li> +<p>RekeyLimit => :rekey_limit</p> +</li><li> +<p>User => :user</p> +</li><li> +<p>UserKnownHostsFile => :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">/^"(.*)"$/</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 "Host host1 host2 hostN".</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"><<</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"><<</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"><<</span> <span class="ruby-string">"hostbased"</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"><<</span> <span class="ruby-string">"password"</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"><<</span> <span class="ruby-string">"publickey"</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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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("/invoke/some/command") do |ch, success| + abort "could not execute command" unless success + + channel.on_data do |ch, data| + puts "got stdout: #{data}" + channel.send_data "something for stdin\n" + end + + channel.on_extended_data do |ch, type, data| + puts "got stderr: #{data}" + end + + channel.on_close do |ch| + puts "channel is closing!" + 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>, &<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">"channel failure recieved with no pending request to handle it (bug?)"</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">"channel success recieved with no pending request to handle it (bug?)"</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 "PATH", "/usr/local/bin"</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>, &<span class="ruby-identifier">block</span>) + <span class="ruby-identifier">send_channel_request</span>(<span class="ruby-string">"env"</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>, &<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 "ls -l /home" do |ch, success| + if success + puts "command has begun executing..." + # this is a good place to hang callbacks like #on_data... + else + puts "alas! the command could not be invoked!" + 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>, &<span class="ruby-identifier">block</span>) + <span class="ruby-identifier">send_channel_request</span>(<span class="ruby-string">"exec"</span>, <span class="ruby-value">:string</span>, <span class="ruby-identifier">command</span>, &<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 "remote end is closing!" +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>(&<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 "got data: #{data.inspect}" +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>(&<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 "remote end is done sending data" +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>(&<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 "got stderr: #{data.inspect}" +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>(&<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>(&<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] = "" + +channel.on_data do |ch, data| + channel[:data] << data +end + +channel.on_process do |ch| + if channel[:data] =~ /^.*?\n/ + puts $& + 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>(&<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 "exit-status" do |ch, data| + puts "process terminated with exit status: #{data.read_long}" +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>, &<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 "pty successfully obtained" + else + puts "could not obtain pty" + 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>={}, &<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">"invalid option(s) to request_pty: #{extra.inspect}"</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">"pty-req"</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>, &<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 "shell" do |ch, success| + if success + puts "user shell started successfully" + else + puts "could not start user shell" + 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>, &<span class="ruby-identifier">callback</span>) + <span class="ruby-identifier">info</span> { <span class="ruby-node">"sending channel request #{request_name.inspect}"</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"><<</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("the password\n")</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">"cannot send data if channel has declared eof"</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("sftp") do |ch, success| + if success + puts "subsystem successfully started" + else + puts "subsystem could not be started" + 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>, &<span class="ruby-identifier">block</span>) + <span class="ruby-identifier">send_channel_request</span>(<span class="ruby-string">"subsystem"</span>, <span class="ruby-value">:string</span>, <span class="ruby-identifier">subsystem</span>, &<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("grep ...") { ... } +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&height=550&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&height=550&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("localhost", "user") do |ssh| + # 'ssh' is an instance of Net::SSH::Connection::Session + ssh.exec! "/etc/init.d/some_process start" +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">></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">"closing remaining channels (#{channels.length} open)"</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 "grep something /some/files" do |ch, stream, data| + if stream == :stderr + puts "ERROR: #{data}" + 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>, &<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">"could not execute command: #{command.inspect}"</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!("grep something /some/files")</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>, &<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">""</span> + <span class="ruby-identifier">ch</span>[<span class="ruby-value">:result</span>] <span class="ruby-operator"><<</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>, &<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 "/some/process/that/wants/input" do |ch, success| + abort "can't execute!" unless success + + io = TCPSocket.new(somewhere, port) + io.extend(Net::SSH::BufferedIo) + ssh.listen_to(io) + + ch.on_process do + if io.available > 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>, &<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("INT") { 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>, &<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>, &<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>, &<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>, &<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 "grep something /some/files" 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">"session"</span>, *<span class="ruby-identifier">extra</span>, &<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>, &<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">&&</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">&&</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("host1", ...), + Net::SSH.start("host2", ...) +] + +connections.each do |ssh| + ssh.exec "grep something /in/some/files" +end + +condition = Proc.new { |s| s.busy? } + +loop do + connections.delete_if { |ssh| !ssh.process(0.1, &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>, &<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>(&<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">&&</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("keep-alive@openssh.com")</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>, &<span class="ruby-identifier">callback</span>) + <span class="ruby-identifier">info</span> { <span class="ruby-node">"sending global request #{type}"</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"><<</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&height=550&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">"ignoring request #{sym.inspect} for non-existent (closed?) channel; probably ssh server bug"</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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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">></span> <span class="ruby-identifier">e</span> + <span class="ruby-identifier">debug</span> { <span class="ruby-node">"connection was reset => shallowing exception:#{e}"</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">></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">"connection was reset => shallowing exception:#{e}"</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">></span> <span class="ruby-identifier">e</span> + <span class="ruby-identifier">debug</span> { <span class="ruby-node">"connection was reset => shallowing exception:#{e}"</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">></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">"connection was reset => shallowing exception:#{e}"</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&height=550&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">&&</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">&&</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">&&</span> <span class="ruby-ivar">@data</span>[<span class="ruby-value">:peer</span>] <span class="ruby-operator">&&</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">&&</span> <span class="ruby-ivar">@data</span>[<span class="ruby-value">:peer</span>] <span class="ruby-operator">&&</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">&&</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">&&</span> <span class="ruby-ivar">@data</span>[<span class="ruby-value">:peer</span>] <span class="ruby-operator">&&</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&height=550&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&height=550&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&height=550&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("rsa") +assert klass.is_a?(OpenSSL::PKey::RSA) + +key = Net::SSH::KeyFactory.load_public_key("~/.ssh/id_dsa.pub")</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">""</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">&&</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">"not a supported key type '#{$1}'"</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">"not a private key (#{filename})"</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">></span> <span class="ruby-identifier">e</span> + <span class="ruby-keyword">if</span> <span class="ruby-identifier">encrypted_key</span> <span class="ruby-operator">&&</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"><=</span> <span class="ruby-value">3</span> + <span class="ruby-identifier">passphrase</span> = <span class="ruby-identifier">prompt</span>(<span class="ruby-node">"Enter passphrase for #{filename}:"</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">""</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">"public key at #{filename} is not valid"</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">"m*"</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">"not a public key #{filename.inspect}"</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&height=550&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">"a"</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">"m*"</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/\s/</span>, <span class="ruby-string">""</span>) + <span class="ruby-identifier">file</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"#{host} #{key.ssh_type} #{blob}"</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>"net.ssh.test" +"1.2.3.4" +"net.ssh.test,1.2.3.4" +"[net.ssh.test]:5555" +"[1,2,3,4]:5555" +"[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">""</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">"m*"</span>).<span class="ruby-identifier">first</span> + <span class="ruby-identifier">keys</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">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&height=550&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">&&</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">&&</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">&&</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">&&</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">&&</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&height=550&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 #-> 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">"no such element #{name}"</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&height=550&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&height=550&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">&&</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">"Text will be echoed in the clear. Please install the HighLine or Termios libraries to suppress echoed text."</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&height=550&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">" "</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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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 => 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">"unknown key: #{$1}"</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">"r+"</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">"command failed"</span> + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">else</span> + <span class="ruby-identifier">raise</span> <span class="ruby-string">"command timed out"</span> + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span> + <span class="ruby-identifier">raise</span> <span class="ruby-constant">ConnectError</span>, <span class="ruby-node">"#{e}: #{command_line}"</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"><<</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&height=550&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&height=550&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&height=550&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 => 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 => "user", :password => "password")</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 => the user name to use when authenticating to the proxy</p> +</li><li> +<p>:password => 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">"CONNECT #{host}:#{port} HTTP/1.0\r\n"</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">"#{options[:user]}:#{options[:password]}"</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">"m*"</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/\s/</span>, <span class="ruby-string">""</span>) + <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">write</span> <span class="ruby-node">"Proxy-Authorization: Basic #{credentials}\r\n"</span> + <span class="ruby-keyword">end</span> + + <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">write</span> <span class="ruby-string">"\r\n"</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&height=550&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 => 'user') +Net::SSH.start('host', 'user', :proxy => 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">"CCnNZ*"</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">"CCnN"</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">"error connecting to proxy (#{status})"</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&height=550&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 => 'user', :password => "password") +Net::SSH.start('host', 'user', :proxy => 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"><<</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">"C*"</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">"CC"</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">"invalid SOCKS version (#{version})"</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">"no supported authorization methods"</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">"C*"</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"><<</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">"C*"</span>) + <span class="ruby-keyword">else</span> + <span class="ruby-identifier">packet</span> <span class="ruby-operator"><<</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">"CCA*"</span>) + <span class="ruby-keyword">end</span> + + <span class="ruby-identifier">packet</span> <span class="ruby-operator"><<</span> [<span class="ruby-identifier">port</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">"n"</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">"C*"</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">"Illegal response type"</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">"#{reply}"</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&height=550&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&height=550&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&height=550&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, "www.capify.org", 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>, &<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>, &<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>, &<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("remote.host", "me", :forwrd_agent => 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">"auth-agent-req@openssh.com"</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">"authentication agent forwarding is active"</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">"auth-agent-req"</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">"authentication agent forwarding is active"</span> } + <span class="ruby-keyword">else</span> + <span class="ruby-identifier">error</span> { <span class="ruby-string">"could not establish forwarding of authentication agent"</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, "0.0.0.0")</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">"127.0.0.1"</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, "0.0.0.0") +ssh.loop { ssh.forward.active_remotes.include?([1234, "0.0.0.0"]) }</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">"127.0.0.1"</span>) + <span class="ruby-identifier">session</span>.<span class="ruby-identifier">send_global_request</span>(<span class="ruby-string">"cancel-tcpip-forward"</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">"could not cancel remote forward request on #{host}:#{port}"</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, "www.capify.org", 80) +ssh.forward.local("0.0.0.0", 1234, "www.capify.org", 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"><</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">></span> <span class="ruby-value">4</span> + <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">"expected 3 or 4 parameters, got #{args.length}"</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">"127.0.0.1"</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">&&</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">"received connection on #{socket}"</span> } + + <span class="ruby-identifier">channel</span> = <span class="ruby-identifier">session</span>.<span class="ruby-identifier">open_channel</span>(<span class="ruby-string">"direct-tcpip"</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">"direct channel established"</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">"could not establish direct channel: #{description} (#{code})"</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, "www.google.com", 1234, "0.0.0.0") +ssh.loop { !ssh.forward.active_remotes.include?([1234, "0.0.0.0"]) }</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">"127.0.0.1"</span>) + <span class="ruby-identifier">session</span>.<span class="ruby-identifier">send_global_request</span>(<span class="ruby-string">"tcpip-forward"</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">"remote forward from remote #{remote_host}:#{remote_port} to #{host}:#{port} established"</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">"remote forwarding request failed"</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">"remote forwarding request failed"</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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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 < Test::Unit::TestCase + include Net::SSH::Test + + def test_exec_via_channel_works + story do |session| + channel = session.opens_channel + channel.sends_exec "ls" + channel.gets_data "result of ls" + channel.gets_close + channel.sends_close + end + + assert_scripted do + result = nil + + connection.open_channel do |ch| + ch.exec("ls") do |success| + ch.on_data { |c, data| result = data } + ch.on_close { |c| c.close } + end + end + + connection.loop + assert_equal "result of ls", 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">"there is no script to be processed"</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">"there should not be any remaining scripted events, but there are still #{socket.script.events.length} pending"</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">"localhost"</span>, <span class="ruby-identifier">options</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value">:kex</span> =<span class="ruby-operator">></span> <span class="ruby-string">"test"</span>, <span class="ruby-value">:host_key</span> =<span class="ruby-operator">></span> <span class="ruby-string">"ssh-rsa"</span>, <span class="ruby-value">:paranoid</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">false</span>, <span class="ruby-value">:proxy</span> =<span class="ruby-operator">></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&height=550&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 "ls" + channel.gets_data "result of ls" + 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 "bar"</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">"exit-status"</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 "abcdefg" +channel.inject_remote_delay! +channel.gets_data "hijklmn"</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">""</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">"local-id has not been set yet!"</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">"remote-id has not been set yet!"</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 "foo"</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 "ls -l"</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">"exec"</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 "sftp"</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">"subsystem"</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&height=550&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&height=550&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"><</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&height=550&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&height=550&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&height=550&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">"no readers were ready for reading, and none had any incoming packets"</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&height=550&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"><<</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"><=</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&height=550&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">"expected NEWKEYS"</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">></span> <span class="ruby-string">"abc-xyz"</span>, + <span class="ruby-value">:server_key</span> =<span class="ruby-operator">></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">></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">"1234567890"</span>, <span class="ruby-value">10</span>), + <span class="ruby-value">:hashing_algorithm</span> =<span class="ruby-operator">></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&height=550&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>, &<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">"expected #{@type}, but got #{type}"</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">"read_#{type}"</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">"expected #{type} #{expected.inspect} but got #{actual.inspect}"</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&height=550&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">"exec"</span>, <span class="ruby-string">"subsystem"</span> <span class="ruby-keyword">then</span> <span class="ruby-identifier">parts</span> <span class="ruby-operator"><<</span> <span class="ruby-value">:string</span> + <span class="ruby-keyword">when</span> <span class="ruby-string">"exit-status"</span> <span class="ruby-keyword">then</span> <span class="ruby-identifier">parts</span> <span class="ruby-operator"><<</span> <span class="ruby-value">:long</span> + <span class="ruby-keyword">else</span> <span class="ruby-identifier">raise</span> <span class="ruby-node">"don't know what to do about #{@data[1]} channel request"</span> + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">else</span> <span class="ruby-identifier">raise</span> <span class="ruby-node">"don't know how to parse packet type #{@type}"</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&height=550&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">"received packet type #{packet.read_byte} and was not expecting any packet"</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">"NA*"</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&height=550&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"><<</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"><<</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"><<</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"><<</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"><<</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"><<</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"><<</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">"end of script reached, but got a packet type #{packet.read_byte}"</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>, &<span class="ruby-identifier">block</span>) + <span class="ruby-identifier">events</span> <span class="ruby-operator"><<</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>, &<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"><<</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"><<</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"><<</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"><<</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"><<</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"><<</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&height=550&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">"SSH-2.0-Test\r\n"</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">"test"</span>, <span class="ruby-string">"ssh-rsa"</span>, <span class="ruby-string">"none"</span>, <span class="ruby-string">"none"</span>, <span class="ruby-string">"none"</span>, <span class="ruby-string">"none"</span>, <span class="ruby-string">"none"</span>, <span class="ruby-string">"none"</span>, <span class="ruby-string">""</span>, <span class="ruby-string">""</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">""</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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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">"got KEXINIT from server"</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&height=550&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">""</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"><<</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 "encrypt")</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 "encrypt")</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">""</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">""</span> + + <span class="ruby-keyword">while</span> <span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">bytesize</span> <span class="ruby-operator">>=</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">""</span> + <span class="ruby-keyword">end</span> + + <span class="ruby-ivar">@remaining</span> = <span class="ruby-string">""</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">></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>) & <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&height=550&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">"unimplemented cipher `#{name}'"</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">"none"</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">"rc4"</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">" "</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">"rc4"</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">!=</span> <span class="ruby-string">"arcfour"</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">"none"</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">"rc4"</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">"unimplemented cipher `#{name}'"</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">"none"</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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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">""</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">"hmac not found: #{name.inspect}"</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">"hmac not found: #{name.inspect}"</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&height=550&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">&&</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">"wrong number of arguments (#{v.length} for 1)"</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">&&</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">"wrong number of arguments (#{v.length} for 1)"</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">&&</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">"wrong number of arguments (#{v.length} for 1)"</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&height=550&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&height=550&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&height=550&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">""</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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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">""</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">"identity"</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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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">></span> <span class="ruby-identifier">session_id</span>, + <span class="ruby-value">:server_key</span> =<span class="ruby-operator">></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">></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">></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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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">""</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"><</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"><<</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&height=550&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">&&</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">"the client ipaddr/name could not be determined"</span> } + <span class="ruby-string">"unknown"</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"><</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"><</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">"C*"</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">"NCA*A*"</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">"NA*"</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"><<</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">"queueing packet nr #{client.sequence_number} type #{payload.getbyte(0)} len #{packet_length}"</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"><=</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">"connection closed by remote host"</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">"expected :block or :nonblock, got #{mode.inspect}"</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">"<no hostip for proxy command>"</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"><</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"><</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">"padding error, need #{need} block #{server.block_size}"</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"><</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">></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">""</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">></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">"NA*"</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">"corrupted mac detected"</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">"received packet nr #{server.sequence_number} type #{payload.getbyte(0)} len #{@packet_length}"</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&height=550&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">""</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&height=550&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">"establishing connection to #{@host}:#{@port}"</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">"connection established"</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">"#{host}"</span> + <span class="ruby-identifier">string</span> = <span class="ruby-node">"[#{string}]:#{port}"</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">"[#{string2}]:#{port}"</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"><<</span> <span class="ruby-string">","</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">peer_ip</span>, <span class="ruby-value">:port</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@port</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-value">:host</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@host</span>, <span class="ruby-value">:canonized</span> =<span class="ruby-operator">></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">&&</span> <span class="ruby-ivar">@queue</span>.<span class="ruby-identifier">any?</span> <span class="ruby-operator">&&</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">"disconnected: #{packet[:description]} (#{packet[:reason_code]})"</span> + + <span class="ruby-keyword">when</span> <span class="ruby-constant">IGNORE</span> + <span class="ruby-identifier">debug</span> { <span class="ruby-node">"IGNORE packet recieved: #{packet[:data].inspect}"</span> } + + <span class="ruby-keyword">when</span> <span class="ruby-constant">UNIMPLEMENTED</span> + <span class="ruby-identifier">lwarn</span> { <span class="ruby-node">"UNIMPLEMENTED: #{packet[:number]}"</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">"forcing connection closed"</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">&&</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&height=550&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">"none"</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">"none"</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">""</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">&&</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">""</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>) & <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">&&</span> <span class="ruby-identifier">packets</span> <span class="ruby-operator">></span> <span class="ruby-identifier">max_packets</span> <span class="ruby-operator">||</span> + <span class="ruby-identifier">max_blocks</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">blocks</span> <span class="ruby-operator">></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"><<</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">"RC4"</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 "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."</span> + <span class="ruby-keyword">if</span> <span class="ruby-ivar">@block_size</span> <span class="ruby-operator">>=</span> <span class="ruby-value">16</span> + <span class="ruby-ivar">@max_blocks</span> = <span class="ruby-value">1</span> <span class="ruby-operator"><<</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"><<</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">"@#{key}"</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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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&height=550&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">"is unknown"</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">&&</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">"does not match"</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&height=550&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">></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&height=550&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 < Net::SSH::Version[2,1,0] + abort "your software is too old!" +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"><=></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"><=></span>(<span class="ruby-identifier">version</span>) + <span class="ruby-identifier">to_i</span> <span class="ruby-operator"><=></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">"."</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> + |