summaryrefslogtreecommitdiff
path: root/Net/SSH/Transport
diff options
context:
space:
mode:
authorMiklos Fazekas <mfazekas@szemafor.com>2019-10-25 19:30:38 +0200
committerMiklos Fazekas <mfazekas@szemafor.com>2019-10-25 19:30:38 +0200
commitf52ea64977dd7dd30fbc49ac651cb5f784b0818c (patch)
tree0ff3a2f29c8a24dc814037c30de1140c90293428 /Net/SSH/Transport
parent51c0dce218783c7eb82e5b45d65cfcb20f733288 (diff)
downloadnet-ssh-gh-pages.tar.gz
Update docsgh-pages
Diffstat (limited to 'Net/SSH/Transport')
-rw-r--r--Net/SSH/Transport/Algorithms.html75
-rw-r--r--Net/SSH/Transport/CTR.html62
-rw-r--r--Net/SSH/Transport/CipherFactory.html53
-rw-r--r--Net/SSH/Transport/Constants.html22
-rw-r--r--Net/SSH/Transport/HMAC.html6
-rw-r--r--Net/SSH/Transport/HMAC/Abstract.html98
-rw-r--r--Net/SSH/Transport/HMAC/MD5.html2
-rw-r--r--Net/SSH/Transport/HMAC/MD5/OpenSSL.html2
-rw-r--r--Net/SSH/Transport/HMAC/MD5/OpenSSL/Digest.html2
-rw-r--r--Net/SSH/Transport/HMAC/MD5_96.html2
-rw-r--r--Net/SSH/Transport/HMAC/None.html2
-rw-r--r--Net/SSH/Transport/HMAC/RIPEMD160.html2
-rw-r--r--Net/SSH/Transport/HMAC/RIPEMD160/OpenSSL.html2
-rw-r--r--Net/SSH/Transport/HMAC/RIPEMD160/OpenSSL/Digest.html2
-rw-r--r--Net/SSH/Transport/HMAC/SHA1.html2
-rw-r--r--Net/SSH/Transport/HMAC/SHA1/OpenSSL.html2
-rw-r--r--Net/SSH/Transport/HMAC/SHA1/OpenSSL/Digest.html2
-rw-r--r--Net/SSH/Transport/HMAC/SHA1_96.html2
-rw-r--r--Net/SSH/Transport/HMAC/SHA2_256.html2
-rw-r--r--Net/SSH/Transport/HMAC/SHA2_256/OpenSSL.html96
-rw-r--r--Net/SSH/Transport/HMAC/SHA2_256/OpenSSL/Digest.html96
-rw-r--r--Net/SSH/Transport/HMAC/SHA2_256_96.html2
-rw-r--r--Net/SSH/Transport/HMAC/SHA2_256_Etm.html106
-rw-r--r--Net/SSH/Transport/HMAC/SHA2_256_Etm/OpenSSL.html96
-rw-r--r--Net/SSH/Transport/HMAC/SHA2_256_Etm/OpenSSL/Digest.html96
-rw-r--r--Net/SSH/Transport/HMAC/SHA2_512.html2
-rw-r--r--Net/SSH/Transport/HMAC/SHA2_512/OpenSSL.html96
-rw-r--r--Net/SSH/Transport/HMAC/SHA2_512/OpenSSL/Digest.html96
-rw-r--r--Net/SSH/Transport/HMAC/SHA2_512_96.html2
-rw-r--r--Net/SSH/Transport/HMAC/SHA2_512_Etm.html106
-rw-r--r--Net/SSH/Transport/HMAC/SHA2_512_Etm/OpenSSL.html96
-rw-r--r--Net/SSH/Transport/HMAC/SHA2_512_Etm/OpenSSL/Digest.html96
-rw-r--r--Net/SSH/Transport/IdentityCipher.html20
-rw-r--r--Net/SSH/Transport/Kex.html2
-rw-r--r--Net/SSH/Transport/Kex/Abstract.html342
-rw-r--r--Net/SSH/Transport/Kex/Abstract5656.html158
-rw-r--r--Net/SSH/Transport/Kex/Curve25519Sha256.html158
-rw-r--r--Net/SSH/Transport/Kex/Curve25519Sha256Loader.html207
-rw-r--r--Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html19
-rw-r--r--Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html212
-rw-r--r--Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html22
-rw-r--r--Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html29
-rw-r--r--Net/SSH/Transport/Kex/EcdhSHA2NistP256.html95
-rw-r--r--Net/SSH/Transport/Kex/EcdhSHA2NistP384.html6
-rw-r--r--Net/SSH/Transport/Kex/EcdhSHA2NistP521.html6
-rw-r--r--Net/SSH/Transport/KeyExpander.html12
-rw-r--r--Net/SSH/Transport/OpenSSLAESCTR.html313
-rw-r--r--Net/SSH/Transport/PacketStream.html105
-rw-r--r--Net/SSH/Transport/ServerVersion.html4
-rw-r--r--Net/SSH/Transport/Session.html37
-rw-r--r--Net/SSH/Transport/Session/CompatibleVerifier.html235
-rw-r--r--Net/SSH/Transport/State.html46
52 files changed, 2800 insertions, 556 deletions
diff --git a/Net/SSH/Transport/Algorithms.html b/Net/SSH/Transport/Algorithms.html
index ca0fbd8..cf6ae29 100644
--- a/Net/SSH/Transport/Algorithms.html
+++ b/Net/SSH/Transport/Algorithms.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::Algorithms - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::Algorithms - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../";
@@ -69,11 +69,11 @@
<ul class="link-list">
- <li><a class="include" href="Constants.html">Net::SSH::Transport::Constants</a>
+ <li><a class="include" href="../Loggable.html">Net::SSH::Loggable</a>
- <li><a class="include" href="../Loggable.html">Net::SSH::Loggable</a>
+ <li><a class="include" href="Constants.html">Net::SSH::Transport::Constants</a>
</ul>
@@ -96,6 +96,8 @@
<li ><a href="#method-i-allow-3F">#allow?</a>
+ <li ><a href="#method-i-host_key_format">#host_key_format</a>
+
<li ><a href="#method-i-initialized-3F">#initialized?</a>
<li ><a href="#method-i-pending-3F">#pending?</a>
@@ -145,6 +147,12 @@ internally by the transport layer.</p>
<dt id="ALGORITHMS">ALGORITHMS
+ <dd><p>Define all algorithms, with the deprecated, supported by <a
+href="../../SSH.html">Net::SSH</a>.</p>
+
+
+ <dt id="DEFAULT_ALGORITHMS">DEFAULT_ALGORITHMS
+
<dd><p>Define the default algorithms, in order of preference, supported by <a
href="../../SSH.html">Net::SSH</a>.</p>
@@ -378,10 +386,10 @@ 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 104</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 138</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">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>
@@ -415,7 +423,7 @@ 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 112</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 146</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>
@@ -464,7 +472,7 @@ 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 155</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 190</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>
@@ -501,7 +509,7 @@ 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 142</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 177</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">accept_kexinit</span>(<span class="ruby-identifier">packet</span>)
<span class="ruby-identifier">info</span> { <span class="ruby-string">&quot;got KEXINIT from server&quot;</span> }
<span class="ruby-ivar">@server_data</span> = <span class="ruby-identifier">parse_server_algorithm_packet</span>(<span class="ruby-identifier">packet</span>)
@@ -543,7 +551,7 @@ 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 171</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 206</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>
@@ -557,6 +565,44 @@ key exchange.</p>
</div>
+ <div id="method-i-host_key_format" class="method-detail ">
+
+ <div class="method-heading">
+ <span class="method-name">host_key_format</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="host_key_format-source">
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 215</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">host_key_format</span>
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">host_key</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-regexp">/^([a-z0-9-]+)-cert-v\d{2}@openssh.com$/</span>
+ <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">last_match</span>[<span class="ruby-value">1</span>]
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">host_key</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+
<div id="method-i-initialized-3F" class="method-detail ">
<div class="method-heading">
@@ -576,7 +622,7 @@ key exchange.</p>
<div class="method-source-code" id="initialized-3F-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 176</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 211</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>
@@ -613,7 +659,7 @@ 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 164</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 199</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>
@@ -649,7 +695,7 @@ processed.</p>
<div class="method-source-code" id="rekey-21-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 132</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 167</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>
@@ -684,9 +730,10 @@ processed.</p>
<div class="method-source-code" id="start-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 123</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/algorithms.rb, line 157</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">start</span>
<span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-string">&quot;Cannot call start if it&#39;s negotiation started or done&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@pending</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@initialized</span>
+
<span class="ruby-identifier">send_kexinit</span>
<span class="ruby-keyword">end</span></pre>
</div>
diff --git a/Net/SSH/Transport/CTR.html b/Net/SSH/Transport/CTR.html
index 7177ac0..9a84095 100644
--- a/Net/SSH/Transport/CTR.html
+++ b/Net/SSH/Transport/CTR.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>module Net::SSH::Transport::CTR - net-ssh 4.2.0</title>
+<title>module Net::SSH::Transport::CTR - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../";
@@ -144,7 +144,7 @@ Block Ciphers. See RFC4344 for detail.</p>
<div class="method-source-code" id="extended-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 8</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 33</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">extended</span>(<span class="ruby-identifier">orig</span>)
<span class="ruby-identifier">orig</span>.<span class="ruby-identifier">instance_eval</span> {
<span class="ruby-ivar">@remaining</span> = <span class="ruby-string">&quot;&quot;</span>
@@ -152,7 +152,7 @@ Block Ciphers. See RFC4344 for detail.</p>
<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-identifier">singleton_class</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:alias_method</span>, <span class="ruby-value">:_update</span>, <span class="ruby-value">:update</span>)
<span class="ruby-identifier">singleton_class</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:private</span>, <span class="ruby-value">:_update</span>)
<span class="ruby-identifier">singleton_class</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:undef_method</span>, <span class="ruby-value">:update</span>)
@@ -190,30 +190,27 @@ Block Ciphers. See RFC4344 for detail.</p>
<span class="ruby-identifier">encrypted</span> = <span class="ruby-string">&quot;&quot;</span>
- <span class="ruby-keyword">while</span> <span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">bytesize</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">block_size</span>
- <span class="ruby-identifier">encrypted</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">xor!</span>(<span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">slice!</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">block_size</span>),
+ <span class="ruby-identifier">offset</span> = <span class="ruby-value">0</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">offset</span>) <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">block_size</span>
+ <span class="ruby-identifier">encrypted</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">xor!</span>(<span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">slice</span>(<span class="ruby-identifier">offset</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-identifier">offset</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">block_size</span>
<span class="ruby-keyword">end</span>
+ <span class="ruby-ivar">@remaining</span> = <span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">slice</span>(<span class="ruby-identifier">offset</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>)
<span class="ruby-identifier">encrypted</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">final</span>
- <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">empty?</span>
- <span class="ruby-identifier">s</span> = <span class="ruby-identifier">xor!</span>(<span class="ruby-ivar">@remaining</span>, <span class="ruby-identifier">_update</span>(<span class="ruby-ivar">@counter</span>))
- <span class="ruby-keyword">else</span>
- <span class="ruby-identifier">s</span> = <span class="ruby-string">&quot;&quot;</span>
- <span class="ruby-keyword">end</span>
-
+ <span class="ruby-identifier">s</span> = <span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">?</span> <span class="ruby-string">&#39;&#39;</span> <span class="ruby-operator">:</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-ivar">@remaining</span> = <span class="ruby-string">&quot;&quot;</span>
-
<span class="ruby-identifier">s</span>
<span class="ruby-keyword">end</span>
<span class="ruby-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">&#39;Q*&#39;</span>).<span class="ruby-identifier">zip</span>(<span class="ruby-identifier">s2</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&#39;Q*&#39;</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">s1</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&#39;Q*&#39;</span>).<span class="ruby-identifier">zip</span>(<span class="ruby-identifier">s2</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&#39;Q*&#39;</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">&#39;Q*&#39;</span>)
<span class="ruby-keyword">end</span>
<span class="ruby-identifier">singleton_class</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:private</span>, <span class="ruby-value">:xor!</span>)
@@ -266,7 +263,7 @@ Block Ciphers. See RFC4344 for detail.</p>
<div class="method-source-code" id="decrypt-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 36</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 61</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">decrypt</span>
<span class="ruby-comment"># DO NOTHING (always set to &quot;encrypt&quot;)</span>
<span class="ruby-keyword">end</span></pre>
@@ -299,7 +296,7 @@ Block Ciphers. See RFC4344 for detail.</p>
<div class="method-source-code" id="encrypt-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 32</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 57</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">encrypt</span>
<span class="ruby-comment"># DO NOTHING (always set to &quot;encrypt&quot;)</span>
<span class="ruby-keyword">end</span></pre>
@@ -332,16 +329,10 @@ Block Ciphers. See RFC4344 for detail.</p>
<div class="method-source-code" id="final-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 62</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 90</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">final</span>
- <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">empty?</span>
- <span class="ruby-identifier">s</span> = <span class="ruby-identifier">xor!</span>(<span class="ruby-ivar">@remaining</span>, <span class="ruby-identifier">_update</span>(<span class="ruby-ivar">@counter</span>))
- <span class="ruby-keyword">else</span>
- <span class="ruby-identifier">s</span> = <span class="ruby-string">&quot;&quot;</span>
- <span class="ruby-keyword">end</span>
-
+ <span class="ruby-identifier">s</span> = <span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">?</span> <span class="ruby-string">&#39;&#39;</span> <span class="ruby-operator">:</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-ivar">@remaining</span> = <span class="ruby-string">&quot;&quot;</span>
-
<span class="ruby-identifier">s</span>
<span class="ruby-keyword">end</span></pre>
</div>
@@ -373,7 +364,7 @@ Block Ciphers. See RFC4344 for detail.</p>
<div class="method-source-code" id="increment_counter-21-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 81</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 103</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">increment_counter!</span>
<span class="ruby-identifier">c</span> = <span class="ruby-ivar">@counter_len</span>
<span class="ruby-keyword">while</span> ((<span class="ruby-identifier">c</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>)
@@ -411,7 +402,7 @@ Block Ciphers. See RFC4344 for detail.</p>
<div class="method-source-code" id="iv-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 20</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 45</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></pre>
@@ -444,7 +435,7 @@ Block Ciphers. See RFC4344 for detail.</p>
<div class="method-source-code" id="iv-3D-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 28</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 53</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></pre>
@@ -477,7 +468,7 @@ Block Ciphers. See RFC4344 for detail.</p>
<div class="method-source-code" id="iv_len-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 24</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 49</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></pre>
@@ -510,7 +501,7 @@ Block Ciphers. See RFC4344 for detail.</p>
<div class="method-source-code" id="padding-3D-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 40</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 65</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></pre>
@@ -543,7 +534,7 @@ Block Ciphers. See RFC4344 for detail.</p>
<div class="method-source-code" id="reset-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 44</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 69</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">reset</span>
<span class="ruby-ivar">@remaining</span> = <span class="ruby-string">&quot;&quot;</span>
<span class="ruby-keyword">end</span></pre>
@@ -576,17 +567,20 @@ Block Ciphers. See RFC4344 for detail.</p>
<div class="method-source-code" id="update-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 48</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 73</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">update</span>(<span class="ruby-identifier">data</span>)
<span class="ruby-ivar">@remaining</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">data</span>
<span class="ruby-identifier">encrypted</span> = <span class="ruby-string">&quot;&quot;</span>
- <span class="ruby-keyword">while</span> <span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">bytesize</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">block_size</span>
- <span class="ruby-identifier">encrypted</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">xor!</span>(<span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">slice!</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">block_size</span>),
+ <span class="ruby-identifier">offset</span> = <span class="ruby-value">0</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">offset</span>) <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">block_size</span>
+ <span class="ruby-identifier">encrypted</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">xor!</span>(<span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">slice</span>(<span class="ruby-identifier">offset</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-identifier">offset</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">block_size</span>
<span class="ruby-keyword">end</span>
+ <span class="ruby-ivar">@remaining</span> = <span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">slice</span>(<span class="ruby-identifier">offset</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>)
<span class="ruby-identifier">encrypted</span>
<span class="ruby-keyword">end</span></pre>
@@ -619,10 +613,10 @@ Block Ciphers. See RFC4344 for detail.</p>
<div class="method-source-code" id="xor-21-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 74</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 96</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">&#39;Q*&#39;</span>).<span class="ruby-identifier">zip</span>(<span class="ruby-identifier">s2</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&#39;Q*&#39;</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">s1</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&#39;Q*&#39;</span>).<span class="ruby-identifier">zip</span>(<span class="ruby-identifier">s2</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&#39;Q*&#39;</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">&#39;Q*&#39;</span>)
<span class="ruby-keyword">end</span></pre>
</div>
diff --git a/Net/SSH/Transport/CipherFactory.html b/Net/SSH/Transport/CipherFactory.html
index dcb56e1..14edd73 100644
--- a/Net/SSH/Transport/CipherFactory.html
+++ b/Net/SSH/Transport/CipherFactory.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::CipherFactory - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::CipherFactory - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../";
@@ -121,14 +121,6 @@ algorithms.</p>
</header>
<dl>
- <dt id="KEY_LEN_OVERRIDE">KEY_LEN_OVERRIDE
-
- <dd><p>Ruby&#39;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>
-
-
<dt id="SSH_TO_OSSL">SSH_TO_OSSL
<dd><p>Maps the <a href="../../SSH.html">SSH</a> name of a cipher to it&#39;s
@@ -171,24 +163,29 @@ encryption or decryption mode, based on the value of the
<div class="method-source-code" id="get-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/cipher_factory.rb, line 57</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/cipher_factory.rb, line 46</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">options</span>={})
<span class="ruby-identifier">ossl_name</span> = <span class="ruby-constant">SSH_TO_OSSL</span>[<span class="ruby-identifier">name</span>] <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>, <span class="ruby-node">&quot;unimplemented cipher `#{name}&#39;&quot;</span>
<span class="ruby-keyword">return</span> <span class="ruby-constant">IdentityCipher</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">ossl_name</span> <span class="ruby-operator">==</span> <span class="ruby-string">&quot;none&quot;</span>
<span class="ruby-identifier">cipher</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">Cipher</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">ossl_name</span>)
-
+
<span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:encrypt</span>] <span class="ruby-operator">?</span> <span class="ruby-value">:encrypt</span> <span class="ruby-operator">:</span> <span class="ruby-value">:decrypt</span>)
-
+
<span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">padding</span> = <span class="ruby-value">0</span>
-
- <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">extend</span>(<span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Transport</span><span class="ruby-operator">::</span><span class="ruby-constant">CTR</span>) <span class="ruby-keyword">if</span> (<span class="ruby-identifier">name</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/-ctr(@openssh.org)?$/</span>)
- <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">iv</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Transport</span><span class="ruby-operator">::</span><span class="ruby-constant">KeyExpander</span>.<span class="ruby-identifier">expand_key</span>(<span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">iv_len</span>, <span class="ruby-identifier">options</span>[<span class="ruby-value">:iv</span>], <span class="ruby-identifier">options</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">ossl_name</span> <span class="ruby-operator">!=</span> <span class="ruby-string">&quot;rc4&quot;</span>
-
- <span class="ruby-identifier">key_len</span> = <span class="ruby-constant">KEY_LEN_OVERRIDE</span>[<span class="ruby-identifier">name</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">key_len</span>
+
+ <span class="ruby-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-keyword">if</span> <span class="ruby-identifier">ossl_name</span> <span class="ruby-operator">!~</span> <span class="ruby-regexp">/-ctr/</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">else</span>
+ <span class="ruby-identifier">cipher</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">OpenSSLAESCTR</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">cipher</span>)
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">end</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-identifier">key_len</span> = <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">key_len</span>
<span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">key_len</span> = <span class="ruby-identifier">key_len</span>
<span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">key</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Transport</span><span class="ruby-operator">::</span><span class="ruby-constant">KeyExpander</span>.<span class="ruby-identifier">expand_key</span>(<span class="ruby-identifier">key_len</span>, <span class="ruby-identifier">options</span>[<span class="ruby-value">:key</span>], <span class="ruby-identifier">options</span>)
- <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">update</span>(<span class="ruby-string">&quot; &quot;</span> <span class="ruby-operator">*</span> <span class="ruby-value">1536</span>) <span class="ruby-keyword">if</span> (<span class="ruby-identifier">ossl_name</span> <span class="ruby-operator">==</span> <span class="ruby-string">&quot;rc4&quot;</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">!=</span> <span class="ruby-string">&quot;arcfour&quot;</span>)
-
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">cipher</span>
<span class="ruby-keyword">end</span></pre>
</div>
@@ -223,7 +220,7 @@ supplied the third return value will be ivlen</p>
<div class="method-source-code" id="get_lengths-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/cipher_factory.rb, line 82</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/cipher_factory.rb, line 76</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">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">if</span> <span class="ruby-identifier">ossl_name</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">ossl_name</span> <span class="ruby-operator">==</span> <span class="ruby-string">&quot;none&quot;</span>
@@ -231,10 +228,18 @@ supplied the third return value will be ivlen</p>
<span class="ruby-identifier">result</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">0</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:iv_len</span>]
<span class="ruby-keyword">else</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-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">key_len</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">result</span> = [<span class="ruby-identifier">key_len</span>, <span class="ruby-identifier">ossl_name</span><span class="ruby-operator">==</span><span class="ruby-string">&quot;rc4&quot;</span> <span class="ruby-operator">?</span> <span class="ruby-value">8</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">block_size</span>]
+
+ <span class="ruby-identifier">block_size</span> =
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">ossl_name</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-regexp">/\-ctr/</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">OpenSSLAESCTR</span>.<span class="ruby-identifier">block_size</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">block_size</span>
+ <span class="ruby-keyword">end</span>
+
+ <span class="ruby-identifier">result</span> = [<span class="ruby-identifier">key_len</span>, <span class="ruby-identifier">block_size</span>]
<span class="ruby-identifier">result</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">iv_len</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:iv_len</span>]
<span class="ruby-keyword">end</span>
<span class="ruby-identifier">result</span>
@@ -269,7 +274,7 @@ 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 46</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/cipher_factory.rb, line 35</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">supported?</span>(<span class="ruby-identifier">name</span>)
<span class="ruby-identifier">ossl_name</span> = <span class="ruby-constant">SSH_TO_OSSL</span>[<span class="ruby-identifier">name</span>] <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>, <span class="ruby-node">&quot;unimplemented cipher `#{name}&#39;&quot;</span>
<span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">ossl_name</span> <span class="ruby-operator">==</span> <span class="ruby-string">&quot;none&quot;</span>
diff --git a/Net/SSH/Transport/Constants.html b/Net/SSH/Transport/Constants.html
index 19e0be7..90a5b92 100644
--- a/Net/SSH/Transport/Constants.html
+++ b/Net/SSH/Transport/Constants.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>module Net::SSH::Transport::Constants - net-ssh 4.2.0</title>
+<title>module Net::SSH::Transport::Constants - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../";
@@ -101,6 +101,26 @@
<dd>
+ <dt id="KEXDH_GEX_GROUP">KEXDH_GEX_GROUP
+
+ <dd>
+
+
+ <dt id="KEXDH_GEX_INIT">KEXDH_GEX_INIT
+
+ <dd>
+
+
+ <dt id="KEXDH_GEX_REPLY">KEXDH_GEX_REPLY
+
+ <dd>
+
+
+ <dt id="KEXDH_GEX_REQUEST">KEXDH_GEX_REQUEST
+
+ <dd>
+
+
<dt id="KEXDH_INIT">KEXDH_INIT
<dd>
diff --git a/Net/SSH/Transport/HMAC.html b/Net/SSH/Transport/HMAC.html
index 4586d2f..dab4d18 100644
--- a/Net/SSH/Transport/HMAC.html
+++ b/Net/SSH/Transport/HMAC.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>module Net::SSH::Transport::HMAC - net-ssh 4.2.0</title>
+<title>module Net::SSH::Transport::HMAC - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../";
@@ -141,7 +141,7 @@ 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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/hmac.rb, line 37</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">key</span>=<span class="ruby-string">&quot;&quot;</span>, <span class="ruby-identifier">parameters</span> = {})
<span class="ruby-identifier">impl</span> = <span class="ruby-constant">MAP</span>[<span class="ruby-identifier">name</span>] <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;hmac not found: #{name.inspect}&quot;</span>
<span class="ruby-identifier">impl</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Transport</span><span class="ruby-operator">::</span><span class="ruby-constant">KeyExpander</span>.<span class="ruby-identifier">expand_key</span>(<span class="ruby-identifier">impl</span>.<span class="ruby-identifier">key_length</span>, <span class="ruby-identifier">key</span>, <span class="ruby-identifier">parameters</span>))
@@ -176,7 +176,7 @@ href="../../SSH.html">SSH</a> type (<code>name</code>).</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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/hmac.rb, line 43</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">key_length</span>(<span class="ruby-identifier">name</span>)
<span class="ruby-identifier">impl</span> = <span class="ruby-constant">MAP</span>[<span class="ruby-identifier">name</span>] <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;hmac not found: #{name.inspect}&quot;</span>
<span class="ruby-identifier">impl</span>.<span class="ruby-identifier">key_length</span>
diff --git a/Net/SSH/Transport/HMAC/Abstract.html b/Net/SSH/Transport/HMAC/Abstract.html
index 29983f6..f52ccab 100644
--- a/Net/SSH/Transport/HMAC/Abstract.html
+++ b/Net/SSH/Transport/HMAC/Abstract.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::HMAC::Abstract - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::HMAC::Abstract - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../";
@@ -73,6 +73,8 @@
<li ><a href="#method-c-digest_class">::digest_class</a>
+ <li ><a href="#method-c-etm">::etm</a>
+
<li ><a href="#method-c-key_length">::key_length</a>
<li ><a href="#method-c-mac_length">::mac_length</a>
@@ -83,6 +85,8 @@
<li ><a href="#method-i-digest_class">#digest_class</a>
+ <li ><a href="#method-i-etm">#etm</a>
+
<li ><a href="#method-i-key-3D">#key=</a>
<li ><a href="#method-i-key_length">#key_length</a>
@@ -166,7 +170,7 @@ algorithm wrappers.</p>
<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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 48</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">digest_class</span>(<span class="ruby-operator">*</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>
@@ -188,6 +192,47 @@ algorithm wrappers.</p>
</div>
+ <div id="method-c-etm" class="method-detail ">
+
+ <div class="method-heading">
+ <span class="method-name">etm</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="etm-source">
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 12</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">etm</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">v</span>)
+ <span class="ruby-ivar">@etm</span> = <span class="ruby-keyword">false</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-keyword">defined?</span>(<span class="ruby-ivar">@etm</span>)
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">empty?</span>
+ <span class="ruby-ivar">@etm</span> = <span class="ruby-identifier">superclass</span>.<span class="ruby-identifier">etm</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@etm</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">superclass</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:etm</span>)
+ <span class="ruby-keyword">return</span> <span class="ruby-ivar">@etm</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">@etm</span> = <span class="ruby-identifier">v</span>.<span class="ruby-identifier">first</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;wrong number of arguments (#{v.length} for 1)&quot;</span>
+ <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+
<div id="method-c-key_length" class="method-detail ">
<div class="method-heading">
@@ -207,7 +252,7 @@ algorithm wrappers.</p>
<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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 24</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">key_length</span>(<span class="ruby-operator">*</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>
@@ -248,7 +293,7 @@ algorithm wrappers.</p>
<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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 36</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">mac_length</span>(<span class="ruby-operator">*</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>
@@ -289,7 +334,7 @@ algorithm wrappers.</p>
<div class="method-source-code" id="new-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 62</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 80</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>
@@ -331,7 +376,7 @@ 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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 91</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>
@@ -364,7 +409,7 @@ string.</p>
<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>
+ <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_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>
@@ -378,6 +423,39 @@ string.</p>
</div>
+ <div id="method-i-etm" class="method-detail ">
+
+ <div class="method-heading">
+ <span class="method-name">etm</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="etm-source">
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 61</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">etm</span>
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">etm</span>
+<span class="ruby-keyword">end</span></pre>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+
<div id="method-i-key-3D" class="method-detail ">
<div class="method-heading">
@@ -398,7 +476,7 @@ 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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 86</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>
@@ -431,7 +509,7 @@ length.</p>
<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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 65</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>
@@ -464,7 +542,7 @@ length.</p>
<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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/hmac/abstract.rb, line 69</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>
diff --git a/Net/SSH/Transport/HMAC/MD5.html b/Net/SSH/Transport/HMAC/MD5.html
index d89d28f..8bd6867 100644
--- a/Net/SSH/Transport/HMAC/MD5.html
+++ b/Net/SSH/Transport/HMAC/MD5.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::HMAC::MD5 - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::HMAC::MD5 - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../";
diff --git a/Net/SSH/Transport/HMAC/MD5/OpenSSL.html b/Net/SSH/Transport/HMAC/MD5/OpenSSL.html
index e48cde1..c82214b 100644
--- a/Net/SSH/Transport/HMAC/MD5/OpenSSL.html
+++ b/Net/SSH/Transport/HMAC/MD5/OpenSSL.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>module Net::SSH::Transport::HMAC::MD5::OpenSSL - net-ssh 4.2.0</title>
+<title>module Net::SSH::Transport::HMAC::MD5::OpenSSL - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../../";
diff --git a/Net/SSH/Transport/HMAC/MD5/OpenSSL/Digest.html b/Net/SSH/Transport/HMAC/MD5/OpenSSL/Digest.html
index 6c91c53..9ba992d 100644
--- a/Net/SSH/Transport/HMAC/MD5/OpenSSL/Digest.html
+++ b/Net/SSH/Transport/HMAC/MD5/OpenSSL/Digest.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>module Net::SSH::Transport::HMAC::MD5::OpenSSL::Digest - net-ssh 4.2.0</title>
+<title>module Net::SSH::Transport::HMAC::MD5::OpenSSL::Digest - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../../../";
diff --git a/Net/SSH/Transport/HMAC/MD5_96.html b/Net/SSH/Transport/HMAC/MD5_96.html
index 9789f05..413c9a6 100644
--- a/Net/SSH/Transport/HMAC/MD5_96.html
+++ b/Net/SSH/Transport/HMAC/MD5_96.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::HMAC::MD5_96 - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::HMAC::MD5_96 - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../";
diff --git a/Net/SSH/Transport/HMAC/None.html b/Net/SSH/Transport/HMAC/None.html
index b36f4f2..7d2323e 100644
--- a/Net/SSH/Transport/HMAC/None.html
+++ b/Net/SSH/Transport/HMAC/None.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::HMAC::None - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::HMAC::None - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../";
diff --git a/Net/SSH/Transport/HMAC/RIPEMD160.html b/Net/SSH/Transport/HMAC/RIPEMD160.html
index e5bb5fd..3ef9c71 100644
--- a/Net/SSH/Transport/HMAC/RIPEMD160.html
+++ b/Net/SSH/Transport/HMAC/RIPEMD160.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::HMAC::RIPEMD160 - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::HMAC::RIPEMD160 - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../";
diff --git a/Net/SSH/Transport/HMAC/RIPEMD160/OpenSSL.html b/Net/SSH/Transport/HMAC/RIPEMD160/OpenSSL.html
index f223ade..f86068c 100644
--- a/Net/SSH/Transport/HMAC/RIPEMD160/OpenSSL.html
+++ b/Net/SSH/Transport/HMAC/RIPEMD160/OpenSSL.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>module Net::SSH::Transport::HMAC::RIPEMD160::OpenSSL - net-ssh 4.2.0</title>
+<title>module Net::SSH::Transport::HMAC::RIPEMD160::OpenSSL - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../../";
diff --git a/Net/SSH/Transport/HMAC/RIPEMD160/OpenSSL/Digest.html b/Net/SSH/Transport/HMAC/RIPEMD160/OpenSSL/Digest.html
index fdf94d5..2d9586d 100644
--- a/Net/SSH/Transport/HMAC/RIPEMD160/OpenSSL/Digest.html
+++ b/Net/SSH/Transport/HMAC/RIPEMD160/OpenSSL/Digest.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>module Net::SSH::Transport::HMAC::RIPEMD160::OpenSSL::Digest - net-ssh 4.2.0</title>
+<title>module Net::SSH::Transport::HMAC::RIPEMD160::OpenSSL::Digest - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../../../";
diff --git a/Net/SSH/Transport/HMAC/SHA1.html b/Net/SSH/Transport/HMAC/SHA1.html
index a807e5a..6614c20 100644
--- a/Net/SSH/Transport/HMAC/SHA1.html
+++ b/Net/SSH/Transport/HMAC/SHA1.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::HMAC::SHA1 - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::HMAC::SHA1 - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../";
diff --git a/Net/SSH/Transport/HMAC/SHA1/OpenSSL.html b/Net/SSH/Transport/HMAC/SHA1/OpenSSL.html
index ccd6979..16cea1f 100644
--- a/Net/SSH/Transport/HMAC/SHA1/OpenSSL.html
+++ b/Net/SSH/Transport/HMAC/SHA1/OpenSSL.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>module Net::SSH::Transport::HMAC::SHA1::OpenSSL - net-ssh 4.2.0</title>
+<title>module Net::SSH::Transport::HMAC::SHA1::OpenSSL - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../../";
diff --git a/Net/SSH/Transport/HMAC/SHA1/OpenSSL/Digest.html b/Net/SSH/Transport/HMAC/SHA1/OpenSSL/Digest.html
index 88713a9..48963a4 100644
--- a/Net/SSH/Transport/HMAC/SHA1/OpenSSL/Digest.html
+++ b/Net/SSH/Transport/HMAC/SHA1/OpenSSL/Digest.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>module Net::SSH::Transport::HMAC::SHA1::OpenSSL::Digest - net-ssh 4.2.0</title>
+<title>module Net::SSH::Transport::HMAC::SHA1::OpenSSL::Digest - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../../../";
diff --git a/Net/SSH/Transport/HMAC/SHA1_96.html b/Net/SSH/Transport/HMAC/SHA1_96.html
index ed77503..d5ba6aa 100644
--- a/Net/SSH/Transport/HMAC/SHA1_96.html
+++ b/Net/SSH/Transport/HMAC/SHA1_96.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::HMAC::SHA1_96 - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::HMAC::SHA1_96 - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../";
diff --git a/Net/SSH/Transport/HMAC/SHA2_256.html b/Net/SSH/Transport/HMAC/SHA2_256.html
index 9bf361b..da2905a 100644
--- a/Net/SSH/Transport/HMAC/SHA2_256.html
+++ b/Net/SSH/Transport/HMAC/SHA2_256.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::HMAC::SHA2_256 - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::HMAC::SHA2_256 - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../";
diff --git a/Net/SSH/Transport/HMAC/SHA2_256/OpenSSL.html b/Net/SSH/Transport/HMAC/SHA2_256/OpenSSL.html
new file mode 100644
index 0000000..44d54cb
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/SHA2_256/OpenSSL.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>module Net::SSH::Transport::HMAC::SHA2_256::OpenSSL - net-ssh 6.0.0.beta1</title>
+
+<script type="text/javascript">
+ var rdoc_rel_prefix = "../../../../../";
+ var index_rel_prefix = "../../../../../";
+</script>
+
+<script src="../../../../../js/jquery.js"></script>
+<script src="../../../../../js/darkfish.js"></script>
+
+<link href="../../../../../css/fonts.css" rel="stylesheet">
+<link href="../../../../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="module">
+<nav role="navigation">
+ <div id="project-navigation">
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
+ <h2>
+ <a href="../../../../../index.html" rel="home">Home</a>
+ </h2>
+
+ <div id="table-of-contents-navigation">
+ <a href="../../../../../table_of_contents.html#pages">Pages</a>
+ <a href="../../../../../table_of_contents.html#classes">Classes</a>
+ <a href="../../../../../table_of_contents.html#methods">Methods</a>
+ </div>
+</div>
+
+ <div id="search-section" role="search" class="project-section initially-hidden">
+ <form action="#" method="get" accept-charset="utf-8">
+ <div id="search-field-wrapper">
+ <input id="search-field" role="combobox" aria-label="Search"
+ aria-autocomplete="list" aria-controls="search-results"
+ type="text" name="search" placeholder="Search" spellcheck="false"
+ title="Type to search, Up and Down to navigate, Enter to load">
+ </div>
+
+ <ul id="search-results" aria-label="Search Results"
+ aria-busy="false" aria-expanded="false"
+ aria-atomic="false" class="initially-hidden"></ul>
+ </form>
+</div>
+
+ </div>
+
+
+
+ <div id="class-metadata">
+
+
+
+
+
+ </div>
+</nav>
+
+<main role="main" aria-labelledby="module-Net::SSH::Transport::HMAC::SHA2_256::OpenSSL">
+ <h1 id="module-Net::SSH::Transport::HMAC::SHA2_256::OpenSSL" class="module">
+ module Net::SSH::Transport::HMAC::SHA2_256::OpenSSL
+ </h1>
+
+ <section class="description">
+
+ </section>
+
+
+
+
+ <section id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+
+ </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.0.0.
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
+</footer>
+
diff --git a/Net/SSH/Transport/HMAC/SHA2_256/OpenSSL/Digest.html b/Net/SSH/Transport/HMAC/SHA2_256/OpenSSL/Digest.html
new file mode 100644
index 0000000..1406781
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/SHA2_256/OpenSSL/Digest.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>module Net::SSH::Transport::HMAC::SHA2_256::OpenSSL::Digest - net-ssh 6.0.0.beta1</title>
+
+<script type="text/javascript">
+ var rdoc_rel_prefix = "../../../../../../";
+ var index_rel_prefix = "../../../../../../";
+</script>
+
+<script src="../../../../../../js/jquery.js"></script>
+<script src="../../../../../../js/darkfish.js"></script>
+
+<link href="../../../../../../css/fonts.css" rel="stylesheet">
+<link href="../../../../../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="module">
+<nav role="navigation">
+ <div id="project-navigation">
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
+ <h2>
+ <a href="../../../../../../index.html" rel="home">Home</a>
+ </h2>
+
+ <div id="table-of-contents-navigation">
+ <a href="../../../../../../table_of_contents.html#pages">Pages</a>
+ <a href="../../../../../../table_of_contents.html#classes">Classes</a>
+ <a href="../../../../../../table_of_contents.html#methods">Methods</a>
+ </div>
+</div>
+
+ <div id="search-section" role="search" class="project-section initially-hidden">
+ <form action="#" method="get" accept-charset="utf-8">
+ <div id="search-field-wrapper">
+ <input id="search-field" role="combobox" aria-label="Search"
+ aria-autocomplete="list" aria-controls="search-results"
+ type="text" name="search" placeholder="Search" spellcheck="false"
+ title="Type to search, Up and Down to navigate, Enter to load">
+ </div>
+
+ <ul id="search-results" aria-label="Search Results"
+ aria-busy="false" aria-expanded="false"
+ aria-atomic="false" class="initially-hidden"></ul>
+ </form>
+</div>
+
+ </div>
+
+
+
+ <div id="class-metadata">
+
+
+
+
+
+ </div>
+</nav>
+
+<main role="main" aria-labelledby="module-Net::SSH::Transport::HMAC::SHA2_256::OpenSSL::Digest">
+ <h1 id="module-Net::SSH::Transport::HMAC::SHA2_256::OpenSSL::Digest" class="module">
+ module Net::SSH::Transport::HMAC::SHA2_256::OpenSSL::Digest
+ </h1>
+
+ <section class="description">
+
+ </section>
+
+
+
+
+ <section id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+
+ </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.0.0.
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
+</footer>
+
diff --git a/Net/SSH/Transport/HMAC/SHA2_256_96.html b/Net/SSH/Transport/HMAC/SHA2_256_96.html
index bc5a32b..65da258 100644
--- a/Net/SSH/Transport/HMAC/SHA2_256_96.html
+++ b/Net/SSH/Transport/HMAC/SHA2_256_96.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::HMAC::SHA2_256_96 - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::HMAC::SHA2_256_96 - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../";
diff --git a/Net/SSH/Transport/HMAC/SHA2_256_Etm.html b/Net/SSH/Transport/HMAC/SHA2_256_Etm.html
new file mode 100644
index 0000000..09d3a07
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/SHA2_256_Etm.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>class Net::SSH::Transport::HMAC::SHA2_256_Etm - net-ssh 6.0.0.beta1</title>
+
+<script type="text/javascript">
+ var rdoc_rel_prefix = "../../../../";
+ var index_rel_prefix = "../../../../";
+</script>
+
+<script src="../../../../js/jquery.js"></script>
+<script src="../../../../js/darkfish.js"></script>
+
+<link href="../../../../css/fonts.css" rel="stylesheet">
+<link href="../../../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="class">
+<nav role="navigation">
+ <div id="project-navigation">
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
+ <h2>
+ <a href="../../../../index.html" rel="home">Home</a>
+ </h2>
+
+ <div id="table-of-contents-navigation">
+ <a href="../../../../table_of_contents.html#pages">Pages</a>
+ <a href="../../../../table_of_contents.html#classes">Classes</a>
+ <a href="../../../../table_of_contents.html#methods">Methods</a>
+ </div>
+</div>
+
+ <div id="search-section" role="search" class="project-section initially-hidden">
+ <form action="#" method="get" accept-charset="utf-8">
+ <div id="search-field-wrapper">
+ <input id="search-field" role="combobox" aria-label="Search"
+ aria-autocomplete="list" aria-controls="search-results"
+ type="text" name="search" placeholder="Search" spellcheck="false"
+ title="Type to search, Up and Down to navigate, Enter to load">
+ </div>
+
+ <ul id="search-results" aria-label="Search Results"
+ aria-busy="false" aria-expanded="false"
+ aria-atomic="false" class="initially-hidden"></ul>
+ </form>
+</div>
+
+ </div>
+
+
+
+ <div id="class-metadata">
+
+ <div id="parent-class-section" class="nav-section">
+ <h3>Parent</h3>
+
+
+ <p class="link"><a href="Abstract.html">Net::SSH::Transport::HMAC::Abstract</a>
+
+</div>
+
+
+
+
+ </div>
+</nav>
+
+<main role="main" aria-labelledby="class-Net::SSH::Transport::HMAC::SHA2_256_Etm">
+ <h1 id="class-Net::SSH::Transport::HMAC::SHA2_256_Etm" class="class">
+ class Net::SSH::Transport::HMAC::SHA2_256_Etm
+ </h1>
+
+ <section class="description">
+
+<p>The SHA-256 Encrypt-Then-Mac <a href="../HMAC.html">HMAC</a> algorithm.
+This has a mac and key length of 32, and uses the SHA-256 digest algorithm.</p>
+
+ </section>
+
+
+
+
+ <section id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+
+ </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.0.0.
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
+</footer>
+
diff --git a/Net/SSH/Transport/HMAC/SHA2_256_Etm/OpenSSL.html b/Net/SSH/Transport/HMAC/SHA2_256_Etm/OpenSSL.html
new file mode 100644
index 0000000..d0b230a
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/SHA2_256_Etm/OpenSSL.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>module Net::SSH::Transport::HMAC::SHA2_256_Etm::OpenSSL - net-ssh 6.0.0.beta1</title>
+
+<script type="text/javascript">
+ var rdoc_rel_prefix = "../../../../../";
+ var index_rel_prefix = "../../../../../";
+</script>
+
+<script src="../../../../../js/jquery.js"></script>
+<script src="../../../../../js/darkfish.js"></script>
+
+<link href="../../../../../css/fonts.css" rel="stylesheet">
+<link href="../../../../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="module">
+<nav role="navigation">
+ <div id="project-navigation">
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
+ <h2>
+ <a href="../../../../../index.html" rel="home">Home</a>
+ </h2>
+
+ <div id="table-of-contents-navigation">
+ <a href="../../../../../table_of_contents.html#pages">Pages</a>
+ <a href="../../../../../table_of_contents.html#classes">Classes</a>
+ <a href="../../../../../table_of_contents.html#methods">Methods</a>
+ </div>
+</div>
+
+ <div id="search-section" role="search" class="project-section initially-hidden">
+ <form action="#" method="get" accept-charset="utf-8">
+ <div id="search-field-wrapper">
+ <input id="search-field" role="combobox" aria-label="Search"
+ aria-autocomplete="list" aria-controls="search-results"
+ type="text" name="search" placeholder="Search" spellcheck="false"
+ title="Type to search, Up and Down to navigate, Enter to load">
+ </div>
+
+ <ul id="search-results" aria-label="Search Results"
+ aria-busy="false" aria-expanded="false"
+ aria-atomic="false" class="initially-hidden"></ul>
+ </form>
+</div>
+
+ </div>
+
+
+
+ <div id="class-metadata">
+
+
+
+
+
+ </div>
+</nav>
+
+<main role="main" aria-labelledby="module-Net::SSH::Transport::HMAC::SHA2_256_Etm::OpenSSL">
+ <h1 id="module-Net::SSH::Transport::HMAC::SHA2_256_Etm::OpenSSL" class="module">
+ module Net::SSH::Transport::HMAC::SHA2_256_Etm::OpenSSL
+ </h1>
+
+ <section class="description">
+
+ </section>
+
+
+
+
+ <section id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+
+ </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.0.0.
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
+</footer>
+
diff --git a/Net/SSH/Transport/HMAC/SHA2_256_Etm/OpenSSL/Digest.html b/Net/SSH/Transport/HMAC/SHA2_256_Etm/OpenSSL/Digest.html
new file mode 100644
index 0000000..da55e38
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/SHA2_256_Etm/OpenSSL/Digest.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>module Net::SSH::Transport::HMAC::SHA2_256_Etm::OpenSSL::Digest - net-ssh 6.0.0.beta1</title>
+
+<script type="text/javascript">
+ var rdoc_rel_prefix = "../../../../../../";
+ var index_rel_prefix = "../../../../../../";
+</script>
+
+<script src="../../../../../../js/jquery.js"></script>
+<script src="../../../../../../js/darkfish.js"></script>
+
+<link href="../../../../../../css/fonts.css" rel="stylesheet">
+<link href="../../../../../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="module">
+<nav role="navigation">
+ <div id="project-navigation">
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
+ <h2>
+ <a href="../../../../../../index.html" rel="home">Home</a>
+ </h2>
+
+ <div id="table-of-contents-navigation">
+ <a href="../../../../../../table_of_contents.html#pages">Pages</a>
+ <a href="../../../../../../table_of_contents.html#classes">Classes</a>
+ <a href="../../../../../../table_of_contents.html#methods">Methods</a>
+ </div>
+</div>
+
+ <div id="search-section" role="search" class="project-section initially-hidden">
+ <form action="#" method="get" accept-charset="utf-8">
+ <div id="search-field-wrapper">
+ <input id="search-field" role="combobox" aria-label="Search"
+ aria-autocomplete="list" aria-controls="search-results"
+ type="text" name="search" placeholder="Search" spellcheck="false"
+ title="Type to search, Up and Down to navigate, Enter to load">
+ </div>
+
+ <ul id="search-results" aria-label="Search Results"
+ aria-busy="false" aria-expanded="false"
+ aria-atomic="false" class="initially-hidden"></ul>
+ </form>
+</div>
+
+ </div>
+
+
+
+ <div id="class-metadata">
+
+
+
+
+
+ </div>
+</nav>
+
+<main role="main" aria-labelledby="module-Net::SSH::Transport::HMAC::SHA2_256_Etm::OpenSSL::Digest">
+ <h1 id="module-Net::SSH::Transport::HMAC::SHA2_256_Etm::OpenSSL::Digest" class="module">
+ module Net::SSH::Transport::HMAC::SHA2_256_Etm::OpenSSL::Digest
+ </h1>
+
+ <section class="description">
+
+ </section>
+
+
+
+
+ <section id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+
+ </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.0.0.
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
+</footer>
+
diff --git a/Net/SSH/Transport/HMAC/SHA2_512.html b/Net/SSH/Transport/HMAC/SHA2_512.html
index b3f42f9..cd15bfe 100644
--- a/Net/SSH/Transport/HMAC/SHA2_512.html
+++ b/Net/SSH/Transport/HMAC/SHA2_512.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::HMAC::SHA2_512 - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::HMAC::SHA2_512 - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../";
diff --git a/Net/SSH/Transport/HMAC/SHA2_512/OpenSSL.html b/Net/SSH/Transport/HMAC/SHA2_512/OpenSSL.html
new file mode 100644
index 0000000..81ad52f
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/SHA2_512/OpenSSL.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>module Net::SSH::Transport::HMAC::SHA2_512::OpenSSL - net-ssh 6.0.0.beta1</title>
+
+<script type="text/javascript">
+ var rdoc_rel_prefix = "../../../../../";
+ var index_rel_prefix = "../../../../../";
+</script>
+
+<script src="../../../../../js/jquery.js"></script>
+<script src="../../../../../js/darkfish.js"></script>
+
+<link href="../../../../../css/fonts.css" rel="stylesheet">
+<link href="../../../../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="module">
+<nav role="navigation">
+ <div id="project-navigation">
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
+ <h2>
+ <a href="../../../../../index.html" rel="home">Home</a>
+ </h2>
+
+ <div id="table-of-contents-navigation">
+ <a href="../../../../../table_of_contents.html#pages">Pages</a>
+ <a href="../../../../../table_of_contents.html#classes">Classes</a>
+ <a href="../../../../../table_of_contents.html#methods">Methods</a>
+ </div>
+</div>
+
+ <div id="search-section" role="search" class="project-section initially-hidden">
+ <form action="#" method="get" accept-charset="utf-8">
+ <div id="search-field-wrapper">
+ <input id="search-field" role="combobox" aria-label="Search"
+ aria-autocomplete="list" aria-controls="search-results"
+ type="text" name="search" placeholder="Search" spellcheck="false"
+ title="Type to search, Up and Down to navigate, Enter to load">
+ </div>
+
+ <ul id="search-results" aria-label="Search Results"
+ aria-busy="false" aria-expanded="false"
+ aria-atomic="false" class="initially-hidden"></ul>
+ </form>
+</div>
+
+ </div>
+
+
+
+ <div id="class-metadata">
+
+
+
+
+
+ </div>
+</nav>
+
+<main role="main" aria-labelledby="module-Net::SSH::Transport::HMAC::SHA2_512::OpenSSL">
+ <h1 id="module-Net::SSH::Transport::HMAC::SHA2_512::OpenSSL" class="module">
+ module Net::SSH::Transport::HMAC::SHA2_512::OpenSSL
+ </h1>
+
+ <section class="description">
+
+ </section>
+
+
+
+
+ <section id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+
+ </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.0.0.
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
+</footer>
+
diff --git a/Net/SSH/Transport/HMAC/SHA2_512/OpenSSL/Digest.html b/Net/SSH/Transport/HMAC/SHA2_512/OpenSSL/Digest.html
new file mode 100644
index 0000000..ff2679c
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/SHA2_512/OpenSSL/Digest.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>module Net::SSH::Transport::HMAC::SHA2_512::OpenSSL::Digest - net-ssh 6.0.0.beta1</title>
+
+<script type="text/javascript">
+ var rdoc_rel_prefix = "../../../../../../";
+ var index_rel_prefix = "../../../../../../";
+</script>
+
+<script src="../../../../../../js/jquery.js"></script>
+<script src="../../../../../../js/darkfish.js"></script>
+
+<link href="../../../../../../css/fonts.css" rel="stylesheet">
+<link href="../../../../../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="module">
+<nav role="navigation">
+ <div id="project-navigation">
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
+ <h2>
+ <a href="../../../../../../index.html" rel="home">Home</a>
+ </h2>
+
+ <div id="table-of-contents-navigation">
+ <a href="../../../../../../table_of_contents.html#pages">Pages</a>
+ <a href="../../../../../../table_of_contents.html#classes">Classes</a>
+ <a href="../../../../../../table_of_contents.html#methods">Methods</a>
+ </div>
+</div>
+
+ <div id="search-section" role="search" class="project-section initially-hidden">
+ <form action="#" method="get" accept-charset="utf-8">
+ <div id="search-field-wrapper">
+ <input id="search-field" role="combobox" aria-label="Search"
+ aria-autocomplete="list" aria-controls="search-results"
+ type="text" name="search" placeholder="Search" spellcheck="false"
+ title="Type to search, Up and Down to navigate, Enter to load">
+ </div>
+
+ <ul id="search-results" aria-label="Search Results"
+ aria-busy="false" aria-expanded="false"
+ aria-atomic="false" class="initially-hidden"></ul>
+ </form>
+</div>
+
+ </div>
+
+
+
+ <div id="class-metadata">
+
+
+
+
+
+ </div>
+</nav>
+
+<main role="main" aria-labelledby="module-Net::SSH::Transport::HMAC::SHA2_512::OpenSSL::Digest">
+ <h1 id="module-Net::SSH::Transport::HMAC::SHA2_512::OpenSSL::Digest" class="module">
+ module Net::SSH::Transport::HMAC::SHA2_512::OpenSSL::Digest
+ </h1>
+
+ <section class="description">
+
+ </section>
+
+
+
+
+ <section id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+
+ </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.0.0.
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
+</footer>
+
diff --git a/Net/SSH/Transport/HMAC/SHA2_512_96.html b/Net/SSH/Transport/HMAC/SHA2_512_96.html
index 9214b87..464f152 100644
--- a/Net/SSH/Transport/HMAC/SHA2_512_96.html
+++ b/Net/SSH/Transport/HMAC/SHA2_512_96.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::HMAC::SHA2_512_96 - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::HMAC::SHA2_512_96 - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../";
diff --git a/Net/SSH/Transport/HMAC/SHA2_512_Etm.html b/Net/SSH/Transport/HMAC/SHA2_512_Etm.html
new file mode 100644
index 0000000..c13fe4b
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/SHA2_512_Etm.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>class Net::SSH::Transport::HMAC::SHA2_512_Etm - net-ssh 6.0.0.beta1</title>
+
+<script type="text/javascript">
+ var rdoc_rel_prefix = "../../../../";
+ var index_rel_prefix = "../../../../";
+</script>
+
+<script src="../../../../js/jquery.js"></script>
+<script src="../../../../js/darkfish.js"></script>
+
+<link href="../../../../css/fonts.css" rel="stylesheet">
+<link href="../../../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="class">
+<nav role="navigation">
+ <div id="project-navigation">
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
+ <h2>
+ <a href="../../../../index.html" rel="home">Home</a>
+ </h2>
+
+ <div id="table-of-contents-navigation">
+ <a href="../../../../table_of_contents.html#pages">Pages</a>
+ <a href="../../../../table_of_contents.html#classes">Classes</a>
+ <a href="../../../../table_of_contents.html#methods">Methods</a>
+ </div>
+</div>
+
+ <div id="search-section" role="search" class="project-section initially-hidden">
+ <form action="#" method="get" accept-charset="utf-8">
+ <div id="search-field-wrapper">
+ <input id="search-field" role="combobox" aria-label="Search"
+ aria-autocomplete="list" aria-controls="search-results"
+ type="text" name="search" placeholder="Search" spellcheck="false"
+ title="Type to search, Up and Down to navigate, Enter to load">
+ </div>
+
+ <ul id="search-results" aria-label="Search Results"
+ aria-busy="false" aria-expanded="false"
+ aria-atomic="false" class="initially-hidden"></ul>
+ </form>
+</div>
+
+ </div>
+
+
+
+ <div id="class-metadata">
+
+ <div id="parent-class-section" class="nav-section">
+ <h3>Parent</h3>
+
+
+ <p class="link"><a href="Abstract.html">Net::SSH::Transport::HMAC::Abstract</a>
+
+</div>
+
+
+
+
+ </div>
+</nav>
+
+<main role="main" aria-labelledby="class-Net::SSH::Transport::HMAC::SHA2_512_Etm">
+ <h1 id="class-Net::SSH::Transport::HMAC::SHA2_512_Etm" class="class">
+ class Net::SSH::Transport::HMAC::SHA2_512_Etm
+ </h1>
+
+ <section class="description">
+
+<p>The SHA-512 Encrypt-Then-Mac <a href="../HMAC.html">HMAC</a> algorithm.
+This has a mac and key length of 64, and uses the SHA-512 digest algorithm.</p>
+
+ </section>
+
+
+
+
+ <section id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+
+ </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.0.0.
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
+</footer>
+
diff --git a/Net/SSH/Transport/HMAC/SHA2_512_Etm/OpenSSL.html b/Net/SSH/Transport/HMAC/SHA2_512_Etm/OpenSSL.html
new file mode 100644
index 0000000..f08608b
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/SHA2_512_Etm/OpenSSL.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>module Net::SSH::Transport::HMAC::SHA2_512_Etm::OpenSSL - net-ssh 6.0.0.beta1</title>
+
+<script type="text/javascript">
+ var rdoc_rel_prefix = "../../../../../";
+ var index_rel_prefix = "../../../../../";
+</script>
+
+<script src="../../../../../js/jquery.js"></script>
+<script src="../../../../../js/darkfish.js"></script>
+
+<link href="../../../../../css/fonts.css" rel="stylesheet">
+<link href="../../../../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="module">
+<nav role="navigation">
+ <div id="project-navigation">
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
+ <h2>
+ <a href="../../../../../index.html" rel="home">Home</a>
+ </h2>
+
+ <div id="table-of-contents-navigation">
+ <a href="../../../../../table_of_contents.html#pages">Pages</a>
+ <a href="../../../../../table_of_contents.html#classes">Classes</a>
+ <a href="../../../../../table_of_contents.html#methods">Methods</a>
+ </div>
+</div>
+
+ <div id="search-section" role="search" class="project-section initially-hidden">
+ <form action="#" method="get" accept-charset="utf-8">
+ <div id="search-field-wrapper">
+ <input id="search-field" role="combobox" aria-label="Search"
+ aria-autocomplete="list" aria-controls="search-results"
+ type="text" name="search" placeholder="Search" spellcheck="false"
+ title="Type to search, Up and Down to navigate, Enter to load">
+ </div>
+
+ <ul id="search-results" aria-label="Search Results"
+ aria-busy="false" aria-expanded="false"
+ aria-atomic="false" class="initially-hidden"></ul>
+ </form>
+</div>
+
+ </div>
+
+
+
+ <div id="class-metadata">
+
+
+
+
+
+ </div>
+</nav>
+
+<main role="main" aria-labelledby="module-Net::SSH::Transport::HMAC::SHA2_512_Etm::OpenSSL">
+ <h1 id="module-Net::SSH::Transport::HMAC::SHA2_512_Etm::OpenSSL" class="module">
+ module Net::SSH::Transport::HMAC::SHA2_512_Etm::OpenSSL
+ </h1>
+
+ <section class="description">
+
+ </section>
+
+
+
+
+ <section id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+
+ </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.0.0.
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
+</footer>
+
diff --git a/Net/SSH/Transport/HMAC/SHA2_512_Etm/OpenSSL/Digest.html b/Net/SSH/Transport/HMAC/SHA2_512_Etm/OpenSSL/Digest.html
new file mode 100644
index 0000000..2723af5
--- /dev/null
+++ b/Net/SSH/Transport/HMAC/SHA2_512_Etm/OpenSSL/Digest.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>module Net::SSH::Transport::HMAC::SHA2_512_Etm::OpenSSL::Digest - net-ssh 6.0.0.beta1</title>
+
+<script type="text/javascript">
+ var rdoc_rel_prefix = "../../../../../../";
+ var index_rel_prefix = "../../../../../../";
+</script>
+
+<script src="../../../../../../js/jquery.js"></script>
+<script src="../../../../../../js/darkfish.js"></script>
+
+<link href="../../../../../../css/fonts.css" rel="stylesheet">
+<link href="../../../../../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="module">
+<nav role="navigation">
+ <div id="project-navigation">
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
+ <h2>
+ <a href="../../../../../../index.html" rel="home">Home</a>
+ </h2>
+
+ <div id="table-of-contents-navigation">
+ <a href="../../../../../../table_of_contents.html#pages">Pages</a>
+ <a href="../../../../../../table_of_contents.html#classes">Classes</a>
+ <a href="../../../../../../table_of_contents.html#methods">Methods</a>
+ </div>
+</div>
+
+ <div id="search-section" role="search" class="project-section initially-hidden">
+ <form action="#" method="get" accept-charset="utf-8">
+ <div id="search-field-wrapper">
+ <input id="search-field" role="combobox" aria-label="Search"
+ aria-autocomplete="list" aria-controls="search-results"
+ type="text" name="search" placeholder="Search" spellcheck="false"
+ title="Type to search, Up and Down to navigate, Enter to load">
+ </div>
+
+ <ul id="search-results" aria-label="Search Results"
+ aria-busy="false" aria-expanded="false"
+ aria-atomic="false" class="initially-hidden"></ul>
+ </form>
+</div>
+
+ </div>
+
+
+
+ <div id="class-metadata">
+
+
+
+
+
+ </div>
+</nav>
+
+<main role="main" aria-labelledby="module-Net::SSH::Transport::HMAC::SHA2_512_Etm::OpenSSL::Digest">
+ <h1 id="module-Net::SSH::Transport::HMAC::SHA2_512_Etm::OpenSSL::Digest" class="module">
+ module Net::SSH::Transport::HMAC::SHA2_512_Etm::OpenSSL::Digest
+ </h1>
+
+ <section class="description">
+
+ </section>
+
+
+
+
+ <section id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+
+ </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.0.0.
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
+</footer>
+
diff --git a/Net/SSH/Transport/IdentityCipher.html b/Net/SSH/Transport/IdentityCipher.html
index 33fccf5..9006110 100644
--- a/Net/SSH/Transport/IdentityCipher.html
+++ b/Net/SSH/Transport/IdentityCipher.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::IdentityCipher - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::IdentityCipher - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../";
@@ -146,7 +146,7 @@ things in the code nice and clean when a cipher has not yet been determined
<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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 11</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>
@@ -179,7 +179,7 @@ things in the code nice and clean when a cipher has not yet been determined
<div class="method-source-code" id="decrypt-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 24</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 26</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>
@@ -212,7 +212,7 @@ things in the code nice and clean when a cipher has not yet been determined
<div class="method-source-code" id="encrypt-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 19</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 21</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>
@@ -245,7 +245,7 @@ things in the code nice and clean when a cipher has not yet been determined
<div class="method-source-code" id="final-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 34</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 36</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">final</span>
<span class="ruby-string">&quot;&quot;</span>
<span class="ruby-keyword">end</span></pre>
@@ -278,7 +278,7 @@ things in the code nice and clean when a cipher has not yet been determined
<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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 46</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>
@@ -311,7 +311,7 @@ things in the code nice and clean when a cipher has not yet been determined
<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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 16</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>
@@ -344,7 +344,7 @@ things in the code nice and clean when a cipher has not yet been determined
<div class="method-source-code" id="name-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 39</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 41</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">name</span>
<span class="ruby-string">&quot;identity&quot;</span>
<span class="ruby-keyword">end</span></pre>
@@ -377,7 +377,7 @@ things in the code nice and clean when a cipher has not yet been determined
<div class="method-source-code" id="reset-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 49</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 51</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>
@@ -410,7 +410,7 @@ things in the code nice and clean when a cipher has not yet been determined
<div class="method-source-code" id="update-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 29</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/identity_cipher.rb, line 31</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>
diff --git a/Net/SSH/Transport/Kex.html b/Net/SSH/Transport/Kex.html
index 4bcb98c..7a0394f 100644
--- a/Net/SSH/Transport/Kex.html
+++ b/Net/SSH/Transport/Kex.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>module Net::SSH::Transport::Kex - net-ssh 4.2.0</title>
+<title>module Net::SSH::Transport::Kex - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../";
diff --git a/Net/SSH/Transport/Kex/Abstract.html b/Net/SSH/Transport/Kex/Abstract.html
new file mode 100644
index 0000000..0c42a5e
--- /dev/null
+++ b/Net/SSH/Transport/Kex/Abstract.html
@@ -0,0 +1,342 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>class Net::SSH::Transport::Kex::Abstract - net-ssh 6.0.0.beta1</title>
+
+<script type="text/javascript">
+ var rdoc_rel_prefix = "../../../../";
+ var index_rel_prefix = "../../../../";
+</script>
+
+<script src="../../../../js/jquery.js"></script>
+<script src="../../../../js/darkfish.js"></script>
+
+<link href="../../../../css/fonts.css" rel="stylesheet">
+<link href="../../../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="class">
+<nav role="navigation">
+ <div id="project-navigation">
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
+ <h2>
+ <a href="../../../../index.html" rel="home">Home</a>
+ </h2>
+
+ <div id="table-of-contents-navigation">
+ <a href="../../../../table_of_contents.html#pages">Pages</a>
+ <a href="../../../../table_of_contents.html#classes">Classes</a>
+ <a href="../../../../table_of_contents.html#methods">Methods</a>
+ </div>
+</div>
+
+ <div id="search-section" role="search" class="project-section initially-hidden">
+ <form action="#" method="get" accept-charset="utf-8">
+ <div id="search-field-wrapper">
+ <input id="search-field" role="combobox" aria-label="Search"
+ aria-autocomplete="list" aria-controls="search-results"
+ type="text" name="search" placeholder="Search" spellcheck="false"
+ title="Type to search, Up and Down to navigate, Enter to load">
+ </div>
+
+ <ul id="search-results" aria-label="Search Results"
+ aria-busy="false" aria-expanded="false"
+ aria-atomic="false" class="initially-hidden"></ul>
+ </form>
+</div>
+
+ </div>
+
+
+
+ <div id="class-metadata">
+
+ <div id="parent-class-section" class="nav-section">
+ <h3>Parent</h3>
+
+
+ <p class="link">Object
+
+</div>
+
+ <div id="includes-section" class="nav-section">
+ <h3>Included Modules</h3>
+
+ <ul class="link-list">
+
+
+ <li><a class="include" href="../../Loggable.html">Net::SSH::Loggable</a>
+
+
+
+ <li><a class="include" href="../Constants.html">Net::SSH::Transport::Constants</a>
+
+
+ </ul>
+</div>
+
+
+ <!-- Method Quickref -->
+<div id="method-list-section" class="nav-section">
+ <h3>Methods</h3>
+
+ <ul class="link-list" role="directory">
+
+ <li ><a href="#method-c-new">::new</a>
+
+ <li ><a href="#method-i-digester">#digester</a>
+
+ <li ><a href="#method-i-exchange_keys">#exchange_keys</a>
+
+ </ul>
+</div>
+
+ </div>
+</nav>
+
+<main role="main" aria-labelledby="class-Net::SSH::Transport::Kex::Abstract">
+ <h1 id="class-Net::SSH::Transport::Kex::Abstract" class="class">
+ class Net::SSH::Transport::Kex::Abstract
+ </h1>
+
+ <section class="description">
+
+<p><a href="Abstract.html">Abstract</a> class that implement Diffie-Hellman
+Key Exchange See <a
+href="https://tools.ietf.org/html/rfc4253#page-21">tools.ietf.org/html/rfc4253#page-21</a></p>
+
+ </section>
+
+
+
+
+ <section id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+ <section class="attribute-method-details" class="method-section">
+ <header>
+ <h3>Attributes</h3>
+ </header>
+
+
+ <div id="attribute-i-algorithms" class="method-detail">
+ <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="attribute-i-connection" class="method-detail">
+ <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="attribute-i-data" class="method-detail">
+ <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="attribute-i-dh" class="method-detail">
+ <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>
+
+ </section>
+
+
+
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
+ <header>
+ <h3>Public Class Methods</h3>
+ </header>
+
+
+ <div id="method-c-new" class="method-detail ">
+
+ <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 new instance of the Diffie-Hellman Key Exchange algorithm. The
+Diffie-Hellman (DH) key exchange provides a shared secret that cannot be
+determined by either party alone. The key exchange is combined with a
+signature with the host key to provide host authentication.</p>
+
+
+
+
+ <div class="method-source-code" id="new-source">
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/kex/abstract.rb, line 27</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">@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>
+
+ </div>
+
+
+
+
+ </div>
+
+
+ </section>
+
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
+ <header>
+ <h3>Public Instance Methods</h3>
+ </header>
+
+
+ <div id="method-i-digester" class="method-detail ">
+
+ <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/abstract.rb, line 61</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">digester</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>, <span class="ruby-string">&#39;abstract class: digester not implemented&#39;</span>
+<span class="ruby-keyword">end</span></pre>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+
+ <div id="method-i-exchange_keys" class="method-detail ">
+
+ <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 data. 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/abstract.rb, line 47</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-identifier">session_id</span><span class="ruby-operator">:</span> <span class="ruby-identifier">session_id</span>,
+ <span class="ruby-identifier">server_key</span><span class="ruby-operator">:</span> <span class="ruby-identifier">result</span>[<span class="ruby-value">:server_key</span>],
+ <span class="ruby-identifier">shared_secret</span><span class="ruby-operator">:</span> <span class="ruby-identifier">result</span>[<span class="ruby-value">:shared_secret</span>],
+ <span class="ruby-identifier">hashing_algorithm</span><span class="ruby-operator">:</span> <span class="ruby-identifier">digester</span>
+ }
+<span class="ruby-keyword">end</span></pre>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+
+ </section>
+
+ </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.0.0.
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
+</footer>
+
diff --git a/Net/SSH/Transport/Kex/Abstract5656.html b/Net/SSH/Transport/Kex/Abstract5656.html
new file mode 100644
index 0000000..7dc8d23
--- /dev/null
+++ b/Net/SSH/Transport/Kex/Abstract5656.html
@@ -0,0 +1,158 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>class Net::SSH::Transport::Kex::Abstract5656 - net-ssh 6.0.0.beta1</title>
+
+<script type="text/javascript">
+ var rdoc_rel_prefix = "../../../../";
+ var index_rel_prefix = "../../../../";
+</script>
+
+<script src="../../../../js/jquery.js"></script>
+<script src="../../../../js/darkfish.js"></script>
+
+<link href="../../../../css/fonts.css" rel="stylesheet">
+<link href="../../../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="class">
+<nav role="navigation">
+ <div id="project-navigation">
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
+ <h2>
+ <a href="../../../../index.html" rel="home">Home</a>
+ </h2>
+
+ <div id="table-of-contents-navigation">
+ <a href="../../../../table_of_contents.html#pages">Pages</a>
+ <a href="../../../../table_of_contents.html#classes">Classes</a>
+ <a href="../../../../table_of_contents.html#methods">Methods</a>
+ </div>
+</div>
+
+ <div id="search-section" role="search" class="project-section initially-hidden">
+ <form action="#" method="get" accept-charset="utf-8">
+ <div id="search-field-wrapper">
+ <input id="search-field" role="combobox" aria-label="Search"
+ aria-autocomplete="list" aria-controls="search-results"
+ type="text" name="search" placeholder="Search" spellcheck="false"
+ title="Type to search, Up and Down to navigate, Enter to load">
+ </div>
+
+ <ul id="search-results" aria-label="Search Results"
+ aria-busy="false" aria-expanded="false"
+ aria-atomic="false" class="initially-hidden"></ul>
+ </form>
+</div>
+
+ </div>
+
+
+
+ <div id="class-metadata">
+
+ <div id="parent-class-section" class="nav-section">
+ <h3>Parent</h3>
+
+
+ <p class="link"><a href="Abstract.html">Net::SSH::Transport::Kex::Abstract</a>
+
+</div>
+
+
+
+ <!-- Method Quickref -->
+<div id="method-list-section" class="nav-section">
+ <h3>Methods</h3>
+
+ <ul class="link-list" role="directory">
+
+ <li ><a href="#method-i-curve_name">#curve_name</a>
+
+ </ul>
+</div>
+
+ </div>
+</nav>
+
+<main role="main" aria-labelledby="class-Net::SSH::Transport::Kex::Abstract5656">
+ <h1 id="class-Net::SSH::Transport::Kex::Abstract5656" class="class">
+ class Net::SSH::Transport::Kex::Abstract5656
+ </h1>
+
+ <section class="description">
+
+<p>Implement key-exchange algorithm from Elliptic Curve Algorithm Integration
+in the Secure Shell <a href="../../Transport.html">Transport</a> Layer (RFC
+5656)</p>
+
+ </section>
+
+
+
+
+ <section id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
+ <header>
+ <h3>Public Instance Methods</h3>
+ </header>
+
+
+ <div id="method-i-curve_name" class="method-detail ">
+
+ <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/abstract5656.rb, line 12</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">curve_name</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>, <span class="ruby-string">&#39;abstract class: curve_name not implemented&#39;</span>
+<span class="ruby-keyword">end</span></pre>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+
+ </section>
+
+ </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.0.0.
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
+</footer>
+
diff --git a/Net/SSH/Transport/Kex/Curve25519Sha256.html b/Net/SSH/Transport/Kex/Curve25519Sha256.html
new file mode 100644
index 0000000..b228aa8
--- /dev/null
+++ b/Net/SSH/Transport/Kex/Curve25519Sha256.html
@@ -0,0 +1,158 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>class Net::SSH::Transport::Kex::Curve25519Sha256 - net-ssh 6.0.0.beta1</title>
+
+<script type="text/javascript">
+ var rdoc_rel_prefix = "../../../../";
+ var index_rel_prefix = "../../../../";
+</script>
+
+<script src="../../../../js/jquery.js"></script>
+<script src="../../../../js/darkfish.js"></script>
+
+<link href="../../../../css/fonts.css" rel="stylesheet">
+<link href="../../../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="class">
+<nav role="navigation">
+ <div id="project-navigation">
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
+ <h2>
+ <a href="../../../../index.html" rel="home">Home</a>
+ </h2>
+
+ <div id="table-of-contents-navigation">
+ <a href="../../../../table_of_contents.html#pages">Pages</a>
+ <a href="../../../../table_of_contents.html#classes">Classes</a>
+ <a href="../../../../table_of_contents.html#methods">Methods</a>
+ </div>
+</div>
+
+ <div id="search-section" role="search" class="project-section initially-hidden">
+ <form action="#" method="get" accept-charset="utf-8">
+ <div id="search-field-wrapper">
+ <input id="search-field" role="combobox" aria-label="Search"
+ aria-autocomplete="list" aria-controls="search-results"
+ type="text" name="search" placeholder="Search" spellcheck="false"
+ title="Type to search, Up and Down to navigate, Enter to load">
+ </div>
+
+ <ul id="search-results" aria-label="Search Results"
+ aria-busy="false" aria-expanded="false"
+ aria-atomic="false" class="initially-hidden"></ul>
+ </form>
+</div>
+
+ </div>
+
+
+
+ <div id="class-metadata">
+
+ <div id="parent-class-section" class="nav-section">
+ <h3>Parent</h3>
+
+
+ <p class="link"><a href="Abstract5656.html">Net::SSH::Transport::Kex::Abstract5656</a>
+
+</div>
+
+
+
+ <!-- Method Quickref -->
+<div id="method-list-section" class="nav-section">
+ <h3>Methods</h3>
+
+ <ul class="link-list" role="directory">
+
+ <li ><a href="#method-i-digester">#digester</a>
+
+ </ul>
+</div>
+
+ </div>
+</nav>
+
+<main role="main" aria-labelledby="class-Net::SSH::Transport::Kex::Curve25519Sha256">
+ <h1 id="class-Net::SSH::Transport::Kex::Curve25519Sha256" class="class">
+ class Net::SSH::Transport::Kex::Curve25519Sha256
+ </h1>
+
+ <section class="description">
+
+<p>A key-exchange service implementing the “curve25519-sha256@libssh.org”
+key-exchange algorithm. (defined in <a
+href="https://tools.ietf.org/html/draft-ietf-curdle-ssh-curves-06">tools.ietf.org/html/draft-ietf-curdle-ssh-curves-06</a>)</p>
+
+ </section>
+
+
+
+
+ <section id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
+ <header>
+ <h3>Public Instance Methods</h3>
+ </header>
+
+
+ <div id="method-i-digester" class="method-detail ">
+
+ <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/curve25519_sha256.rb, line 14</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>
+
+ </div>
+
+
+
+
+ </div>
+
+
+ </section>
+
+ </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.0.0.
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
+</footer>
+
diff --git a/Net/SSH/Transport/Kex/Curve25519Sha256Loader.html b/Net/SSH/Transport/Kex/Curve25519Sha256Loader.html
new file mode 100644
index 0000000..57bc01f
--- /dev/null
+++ b/Net/SSH/Transport/Kex/Curve25519Sha256Loader.html
@@ -0,0 +1,207 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>module Net::SSH::Transport::Kex::Curve25519Sha256Loader - net-ssh 6.0.0.beta1</title>
+
+<script type="text/javascript">
+ var rdoc_rel_prefix = "../../../../";
+ var index_rel_prefix = "../../../../";
+</script>
+
+<script src="../../../../js/jquery.js"></script>
+<script src="../../../../js/darkfish.js"></script>
+
+<link href="../../../../css/fonts.css" rel="stylesheet">
+<link href="../../../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="module">
+<nav role="navigation">
+ <div id="project-navigation">
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
+ <h2>
+ <a href="../../../../index.html" rel="home">Home</a>
+ </h2>
+
+ <div id="table-of-contents-navigation">
+ <a href="../../../../table_of_contents.html#pages">Pages</a>
+ <a href="../../../../table_of_contents.html#classes">Classes</a>
+ <a href="../../../../table_of_contents.html#methods">Methods</a>
+ </div>
+</div>
+
+ <div id="search-section" role="search" class="project-section initially-hidden">
+ <form action="#" method="get" accept-charset="utf-8">
+ <div id="search-field-wrapper">
+ <input id="search-field" role="combobox" aria-label="Search"
+ aria-autocomplete="list" aria-controls="search-results"
+ type="text" name="search" placeholder="Search" spellcheck="false"
+ title="Type to search, Up and Down to navigate, Enter to load">
+ </div>
+
+ <ul id="search-results" aria-label="Search Results"
+ aria-busy="false" aria-expanded="false"
+ aria-atomic="false" class="initially-hidden"></ul>
+ </form>
+</div>
+
+ </div>
+
+
+
+ <div id="class-metadata">
+
+
+
+
+ <!-- Method Quickref -->
+<div id="method-list-section" class="nav-section">
+ <h3>Methods</h3>
+
+ <ul class="link-list" role="directory">
+
+ <li ><a href="#method-c-dependenciesRequiredForX25519">::dependenciesRequiredForX25519</a>
+
+ <li ><a href="#method-c-raiseUnlessLoaded">::raiseUnlessLoaded</a>
+
+ </ul>
+</div>
+
+ </div>
+</nav>
+
+<main role="main" aria-labelledby="module-Net::SSH::Transport::Kex::Curve25519Sha256Loader">
+ <h1 id="module-Net::SSH::Transport::Kex::Curve25519Sha256Loader" class="module">
+ module Net::SSH::Transport::Kex::Curve25519Sha256Loader
+ </h1>
+
+ <section class="description">
+
+<p>Loads <a href="Curve25519Sha256.html">Curve25519Sha256</a> support which
+requires optinal dependencies</p>
+
+ </section>
+
+
+
+
+ <section id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+ <section class="constants-list">
+ <header>
+ <h3>Constants</h3>
+ </header>
+ <dl>
+
+ <dt id="ERROR">ERROR
+
+ <dd>
+
+
+ <dt id="LOADED">LOADED
+
+ <dd>
+
+
+ </dl>
+ </section>
+
+
+
+
+
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
+ <header>
+ <h3>Public Class Methods</h3>
+ </header>
+
+
+ <div id="method-c-dependenciesRequiredForX25519" class="method-detail ">
+
+ <div class="method-heading">
+ <span class="method-name">dependenciesRequiredForX25519</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="dependenciesRequiredForX25519-source">
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/kex/curve25519_sha256_loader.rb, line 22</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">dependenciesRequiredForX25519</span>
+ <span class="ruby-identifier">result</span> = <span class="ruby-string">&quot;net-ssh requires the following gems for x25519 support:\n&quot;</span>
+ <span class="ruby-identifier">result</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-string">&quot; * x25519\n&quot;</span>
+<span class="ruby-keyword">end</span></pre>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+
+ <div id="method-c-raiseUnlessLoaded" class="method-detail ">
+
+ <div class="method-heading">
+ <span class="method-name">raiseUnlessLoaded</span><span
+ class="method-args">(message)</span>
+
+ <span class="method-click-advice">click to toggle source</span>
+
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+
+
+ <div class="method-source-code" id="raiseUnlessLoaded-source">
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/kex/curve25519_sha256_loader.rb, line 16</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">raiseUnlessLoaded</span>(<span class="ruby-identifier">message</span>)
+ <span class="ruby-identifier">description</span> = <span class="ruby-constant">ERROR</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">LoadError</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">dependenciesRequiredForX25519</span> <span class="ruby-operator">:</span> <span class="ruby-string">&#39;&#39;</span>
+ <span class="ruby-identifier">description</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{ERROR.class} : \&quot;#{ERROR.message}\&quot;\n&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-constant">ERROR</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>, <span class="ruby-node">&quot;#{message}\n#{description}&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-constant">LOADED</span>
+<span class="ruby-keyword">end</span></pre>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+
+ </section>
+
+ </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.0.0.
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
+</footer>
+
diff --git a/Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html b/Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html
index 02053ae..7c021b4 100644
--- a/Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html
+++ b/Net/SSH/Transport/Kex/DiffieHellmanGroup14SHA1.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1 - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::Kex::DiffieHellmanGroup14SHA1 - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../";
@@ -63,22 +63,7 @@
</div>
- <div id="includes-section" class="nav-section">
- <h3>Included Modules</h3>
-
- <ul class="link-list">
-
-
- <li><a class="include" href="../Constants.html">Net::SSH::Transport::Constants</a>
-
-
-
- <li><a class="include" href="../../Loggable.html">Net::SSH::Loggable</a>
-
-
- </ul>
-</div>
-
+
</div>
diff --git a/Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html b/Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html
index b22332e..04e4f36 100644
--- a/Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html
+++ b/Net/SSH/Transport/Kex/DiffieHellmanGroup1SHA1.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1 - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1 - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../";
@@ -59,26 +59,11 @@
<h3>Parent</h3>
- <p class="link">Object
+ <p class="link"><a href="Abstract.html">Net::SSH::Transport::Kex::Abstract</a>
</div>
- <div id="includes-section" class="nav-section">
- <h3>Included Modules</h3>
-
- <ul class="link-list">
-
-
- <li><a class="include" href="../Constants.html">Net::SSH::Transport::Constants</a>
-
-
-
- <li><a class="include" href="../../Loggable.html">Net::SSH::Loggable</a>
-
-
- </ul>
-</div>
-
+
<!-- Method Quickref -->
<div id="method-list-section" class="nav-section">
@@ -86,9 +71,7 @@
<ul class="link-list" role="directory">
- <li ><a href="#method-c-new">::new</a>
-
- <li ><a href="#method-i-exchange_keys">#exchange_keys</a>
+ <li ><a href="#method-i-digester">#digester</a>
</ul>
</div>
@@ -144,170 +127,18 @@ represents the value of P</p>
- <section class="attribute-method-details" class="method-section">
- <header>
- <h3>Attributes</h3>
- </header>
-
-
- <div id="attribute-i-algorithms" class="method-detail">
- <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="attribute-i-connection" class="method-detail">
- <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="attribute-i-data" class="method-detail">
- <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="attribute-i-dh" class="method-detail">
- <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="attribute-i-digester" class="method-detail">
- <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="attribute-i-g" class="method-detail">
- <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="attribute-i-p" class="method-detail">
- <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>
-
- </section>
-
-
-
- <section id="public-class-5Buntitled-5D-method-details" class="method-section">
- <header>
- <h3>Public Class Methods</h3>
- </header>
-
-
- <div id="method-c-new" class="method-detail ">
-
- <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 new instance of the <a
-href="DiffieHellmanGroup1SHA1.html">DiffieHellmanGroup1SHA1</a> algorithm.
-The data 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>
-
- </div>
-
-
-
-
- </div>
- </section>
-
<section id="public-instance-5Buntitled-5D-method-details" class="method-section">
<header>
<h3>Public Instance Methods</h3>
</header>
- <div id="method-i-exchange_keys" class="method-detail ">
+ <div id="method-i-digester" class="method-detail ">
<div class="method-heading">
- <span class="method-name">exchange_keys</span><span
+ <span class="method-name">digester</span><span
class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
@@ -317,36 +148,15 @@ algorithm, which was acquired during earlier processing.</p>
<div class="method-description">
- <p>Perform the key-exchange for the given session, with the given data. 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-identifier">session_id</span><span class="ruby-operator">:</span> <span class="ruby-identifier">session_id</span>,
- <span class="ruby-identifier">server_key</span><span class="ruby-operator">:</span> <span class="ruby-identifier">result</span>[<span class="ruby-value">:server_key</span>],
- <span class="ruby-identifier">shared_secret</span><span class="ruby-operator">:</span> <span class="ruby-identifier">result</span>[<span class="ruby-value">:shared_secret</span>],
- <span class="ruby-identifier">hashing_algorithm</span><span class="ruby-operator">:</span> <span class="ruby-identifier">digester</span> }
+ <div class="method-source-code" id="digester-source">
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb, line 26</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">SHA1</span>
<span class="ruby-keyword">end</span></pre>
</div>
diff --git a/Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html b/Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html
index ae3ff72..4af27a3 100644
--- a/Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html
+++ b/Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA1.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1 - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1 - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../";
@@ -96,26 +96,6 @@
</header>
<dl>
- <dt id="KEXDH_GEX_GROUP">KEXDH_GEX_GROUP
-
- <dd>
-
-
- <dt id="KEXDH_GEX_INIT">KEXDH_GEX_INIT
-
- <dd>
-
-
- <dt id="KEXDH_GEX_REPLY">KEXDH_GEX_REPLY
-
- <dd>
-
-
- <dt id="KEXDH_GEX_REQUEST">KEXDH_GEX_REQUEST
-
- <dd>
-
-
<dt id="MAXIMUM_BITS">MAXIMUM_BITS
<dd>
diff --git a/Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html b/Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html
index 2a8d54f..4cd86a9 100644
--- a/Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html
+++ b/Net/SSH/Transport/Kex/DiffieHellmanGroupExchangeSHA256.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256 - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA256 - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../";
@@ -71,7 +71,7 @@
<ul class="link-list" role="directory">
- <li class="calls-super" ><a href="#method-c-new">::new</a>
+ <li ><a href="#method-i-digester">#digester</a>
</ul>
</div>
@@ -104,17 +104,17 @@
- <section id="public-class-5Buntitled-5D-method-details" class="method-section">
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
<header>
- <h3>Public Class Methods</h3>
+ <h3>Public Instance Methods</h3>
</header>
- <div id="method-c-new" class="method-detail ">
+ <div id="method-i-digester" class="method-detail ">
<div class="method-heading">
- <span class="method-name">new</span><span
- class="method-args">(*args)</span>
+ <span class="method-name">digester</span><span
+ class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
@@ -126,19 +126,12 @@
- <div class="method-calls-super">
- Calls superclass method
- <a href="DiffieHellmanGroup1SHA1.html#method-c-new">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1.new</a>
- </div>
-
- <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-operator">*</span><span class="ruby-identifier">args</span>)
- <span class="ruby-keyword">super</span>(<span class="ruby-operator">*</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>
+ <div class="method-source-code" id="digester-source">
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha256.rb, line 7</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>
diff --git a/Net/SSH/Transport/Kex/EcdhSHA2NistP256.html b/Net/SSH/Transport/Kex/EcdhSHA2NistP256.html
index dd46276..7a84e2f 100644
--- a/Net/SSH/Transport/Kex/EcdhSHA2NistP256.html
+++ b/Net/SSH/Transport/Kex/EcdhSHA2NistP256.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::Kex::EcdhSHA2NistP256 - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::Kex::EcdhSHA2NistP256 - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../";
@@ -59,26 +59,11 @@
<h3>Parent</h3>
- <p class="link"><a href="DiffieHellmanGroup1SHA1.html">Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1</a>
+ <p class="link"><a href="Abstract5656.html">Net::SSH::Transport::Kex::Abstract5656</a>
</div>
- <div id="includes-section" class="nav-section">
- <h3>Included Modules</h3>
-
- <ul class="link-list">
-
-
- <li><a class="include" href="../Constants.html">Net::SSH::Transport::Constants</a>
-
-
-
- <li><a class="include" href="../../Loggable.html">Net::SSH::Loggable</a>
-
-
- </ul>
-</div>
-
+
<!-- Method Quickref -->
<div id="method-list-section" class="nav-section">
@@ -86,8 +71,6 @@
<ul class="link-list" role="directory">
- <li ><a href="#method-c-new">::new</a>
-
<li ><a href="#method-i-curve_name">#curve_name</a>
<li ><a href="#method-i-digester">#digester</a>
@@ -121,76 +104,8 @@ algorithm. (defined in RFC 5656)</p>
- <section class="attribute-method-details" class="method-section">
- <header>
- <h3>Attributes</h3>
- </header>
-
-
- <div id="attribute-i-ecdh" class="method-detail">
- <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>
-
- </section>
-
-
-
- <section id="public-class-5Buntitled-5D-method-details" class="method-section">
- <header>
- <h3>Public Class Methods</h3>
- </header>
- <div id="method-c-new" class="method-detail ">
-
- <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>
-
- </div>
-
-
-
-
- </div>
-
-
- </section>
-
<section id="public-instance-5Buntitled-5D-method-details" class="method-section">
<header>
<h3>Public Instance Methods</h3>
@@ -216,7 +131,7 @@ algorithm. (defined in RFC 5656)</p>
<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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb, line 14</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">&#39;nistp256&#39;</span>]
<span class="ruby-keyword">end</span></pre>
@@ -249,7 +164,7 @@ algorithm. (defined in RFC 5656)</p>
<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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb, line 10</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>
diff --git a/Net/SSH/Transport/Kex/EcdhSHA2NistP384.html b/Net/SSH/Transport/Kex/EcdhSHA2NistP384.html
index 0bba423..a8345d4 100644
--- a/Net/SSH/Transport/Kex/EcdhSHA2NistP384.html
+++ b/Net/SSH/Transport/Kex/EcdhSHA2NistP384.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::Kex::EcdhSHA2NistP384 - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::Kex::EcdhSHA2NistP384 - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../";
@@ -131,7 +131,7 @@ algorithm. (defined in RFC 5656)</p>
<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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb, line 14</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">&#39;nistp384&#39;</span>]
<span class="ruby-keyword">end</span></pre>
@@ -164,7 +164,7 @@ algorithm. (defined in RFC 5656)</p>
<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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb, line 10</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>
diff --git a/Net/SSH/Transport/Kex/EcdhSHA2NistP521.html b/Net/SSH/Transport/Kex/EcdhSHA2NistP521.html
index 022a4d0..ba95c90 100644
--- a/Net/SSH/Transport/Kex/EcdhSHA2NistP521.html
+++ b/Net/SSH/Transport/Kex/EcdhSHA2NistP521.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::Kex::EcdhSHA2NistP521 - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::Kex::EcdhSHA2NistP521 - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../../";
@@ -131,7 +131,7 @@ algorithm. (defined in RFC 5656)</p>
<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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb, line 14</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">&#39;nistp521&#39;</span>]
<span class="ruby-keyword">end</span></pre>
@@ -164,7 +164,7 @@ algorithm. (defined in RFC 5656)</p>
<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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb, line 10</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>
diff --git a/Net/SSH/Transport/KeyExpander.html b/Net/SSH/Transport/KeyExpander.html
index 69ab159..5a31b92 100644
--- a/Net/SSH/Transport/KeyExpander.html
+++ b/Net/SSH/Transport/KeyExpander.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>module Net::SSH::Transport::KeyExpander - net-ssh 4.2.0</title>
+<title>module Net::SSH::Transport::KeyExpander - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../";
@@ -120,25 +120,25 @@
<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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/key_expander.rb, line 8</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">expand_key</span>(<span class="ruby-identifier">bytes</span>, <span class="ruby-identifier">start</span>, <span class="ruby-identifier">options</span>={})
<span class="ruby-keyword">if</span> <span class="ruby-identifier">bytes</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
<span class="ruby-keyword">return</span> <span class="ruby-string">&quot;&quot;</span>
<span class="ruby-keyword">end</span>
-
+
<span class="ruby-identifier">k</span> = <span class="ruby-identifier">start</span>[<span class="ruby-value">0</span>, <span class="ruby-identifier">bytes</span>]
<span class="ruby-keyword">return</span> <span class="ruby-identifier">k</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;=</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">&#39;No digester supplied&#39;</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">&#39;No shared secret supplied&#39;</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">&#39;No hash supplied&#39;</span>
-
+
<span class="ruby-keyword">while</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">bytes</span>
<span class="ruby-identifier">step</span> = <span class="ruby-identifier">digester</span>.<span class="ruby-identifier">digest</span>(<span class="ruby-identifier">shared</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">hash</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">k</span>)
<span class="ruby-identifier">bytes_needed</span> = <span class="ruby-identifier">bytes</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">length</span>
<span class="ruby-identifier">k</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">step</span>[<span class="ruby-value">0</span>, <span class="ruby-identifier">bytes_needed</span>]
<span class="ruby-keyword">end</span>
-
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">k</span>
<span class="ruby-keyword">end</span></pre>
</div>
diff --git a/Net/SSH/Transport/OpenSSLAESCTR.html b/Net/SSH/Transport/OpenSSLAESCTR.html
new file mode 100644
index 0000000..be610dc
--- /dev/null
+++ b/Net/SSH/Transport/OpenSSLAESCTR.html
@@ -0,0 +1,313 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>class Net::SSH::Transport::OpenSSLAESCTR - net-ssh 6.0.0.beta1</title>
+
+<script type="text/javascript">
+ var rdoc_rel_prefix = "../../../";
+ var index_rel_prefix = "../../../";
+</script>
+
+<script src="../../../js/jquery.js"></script>
+<script src="../../../js/darkfish.js"></script>
+
+<link href="../../../css/fonts.css" rel="stylesheet">
+<link href="../../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="class">
+<nav role="navigation">
+ <div id="project-navigation">
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
+ <h2>
+ <a href="../../../index.html" rel="home">Home</a>
+ </h2>
+
+ <div id="table-of-contents-navigation">
+ <a href="../../../table_of_contents.html#pages">Pages</a>
+ <a href="../../../table_of_contents.html#classes">Classes</a>
+ <a href="../../../table_of_contents.html#methods">Methods</a>
+ </div>
+</div>
+
+ <div id="search-section" role="search" class="project-section initially-hidden">
+ <form action="#" method="get" accept-charset="utf-8">
+ <div id="search-field-wrapper">
+ <input id="search-field" role="combobox" aria-label="Search"
+ aria-autocomplete="list" aria-controls="search-results"
+ type="text" name="search" placeholder="Search" spellcheck="false"
+ title="Type to search, Up and Down to navigate, Enter to load">
+ </div>
+
+ <ul id="search-results" aria-label="Search Results"
+ aria-busy="false" aria-expanded="false"
+ aria-atomic="false" class="initially-hidden"></ul>
+ </form>
+</div>
+
+ </div>
+
+
+
+ <div id="class-metadata">
+
+ <div id="parent-class-section" class="nav-section">
+ <h3>Parent</h3>
+
+
+ <p class="link">SimpleDelegator
+
+</div>
+
+
+
+ <!-- Method Quickref -->
+<div id="method-list-section" class="nav-section">
+ <h3>Methods</h3>
+
+ <ul class="link-list" role="directory">
+
+ <li ><a href="#method-c-block_size">::block_size</a>
+
+ <li class="calls-super" ><a href="#method-c-new">::new</a>
+
+ <li ><a href="#method-i-block_size">#block_size</a>
+
+ <li class="calls-super" ><a href="#method-i-iv-3D">#iv=</a>
+
+ <li ><a href="#method-i-reset">#reset</a>
+
+ </ul>
+</div>
+
+ </div>
+</nav>
+
+<main role="main" aria-labelledby="class-Net::SSH::Transport::OpenSSLAESCTR">
+ <h1 id="class-Net::SSH::Transport::OpenSSLAESCTR" class="class">
+ class Net::SSH::Transport::OpenSSLAESCTR
+ </h1>
+
+ <section class="description">
+
+ </section>
+
+
+
+
+ <section id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
+ <header>
+ <h3>Public Class Methods</h3>
+ </header>
+
+
+ <div id="method-c-block_size" class="method-detail ">
+
+ <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">
+
+
+
+
+
+
+ <div class="method-source-code" id="block_size-source">
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 16</span>
+<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">block_size</span>
+ <span class="ruby-value">16</span>
+<span class="ruby-keyword">end</span></pre>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+
+ <div id="method-c-new" class="method-detail ">
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(original)</span>
+
+ <span class="method-click-advice">click to toggle source</span>
+
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+ <div class="method-calls-super">
+ Calls superclass method
+
+ </div>
+
+
+
+ <div class="method-source-code" id="new-source">
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 7</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">original</span>)
+ <span class="ruby-keyword">super</span>
+ <span class="ruby-ivar">@was_reset</span> = <span class="ruby-keyword">false</span>
+<span class="ruby-keyword">end</span></pre>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+
+ </section>
+
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
+ <header>
+ <h3>Public Instance Methods</h3>
+ </header>
+
+
+ <div id="method-i-block_size" class="method-detail ">
+
+ <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">
+
+
+
+
+
+
+ <div class="method-source-code" id="block_size-source">
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 12</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">block_size</span>
+ <span class="ruby-value">16</span>
+<span class="ruby-keyword">end</span></pre>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+
+ <div id="method-i-iv-3D" class="method-detail ">
+
+ <div class="method-heading">
+ <span class="method-name">iv=</span><span
+ class="method-args">(iv_s)</span>
+
+ <span class="method-click-advice">click to toggle source</span>
+
+ </div>
+
+
+ <div class="method-description">
+
+
+
+
+ <div class="method-calls-super">
+ Calls superclass method
+
+ </div>
+
+
+
+ <div class="method-source-code" id="iv-3D-source">
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 24</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">iv=</span>(<span class="ruby-identifier">iv_s</span>)
+ <span class="ruby-keyword">super</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@was_reset</span>
+<span class="ruby-keyword">end</span></pre>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+
+ <div id="method-i-reset" class="method-detail ">
+
+ <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">
+
+
+
+
+
+
+ <div class="method-source-code" id="reset-source">
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/ctr.rb, line 20</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">reset</span>
+ <span class="ruby-ivar">@was_reset</span> = <span class="ruby-keyword">true</span>
+<span class="ruby-keyword">end</span></pre>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+
+ </section>
+
+ </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.0.0.
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
+</footer>
+
diff --git a/Net/SSH/Transport/PacketStream.html b/Net/SSH/Transport/PacketStream.html
index af99475..929883b 100644
--- a/Net/SSH/Transport/PacketStream.html
+++ b/Net/SSH/Transport/PacketStream.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>module Net::SSH::Transport::PacketStream - net-ssh 4.2.0</title>
+<title>module Net::SSH::Transport::PacketStream - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../";
@@ -222,7 +222,7 @@ interpret packets coming from the server.</p>
<div class="method-source-code" id="extended-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 21</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 22</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>
@@ -263,9 +263,9 @@ interpret packets coming from the server.</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 74</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 75</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-constant">IO</span>.<span class="ruby-identifier">select</span>([<span class="ruby-keyword">self</span>], <span class="ruby-keyword">nil</span>, <span class="ruby-keyword">nil</span>, <span class="ruby-value">0</span>)
<span class="ruby-identifier">result</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">any?</span>
<span class="ruby-keyword">end</span></pre>
</div>
@@ -299,7 +299,7 @@ href="State.html#method-i-cleanup">Net::SSH::Transport::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 169</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 186</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>
@@ -334,19 +334,19 @@ 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 41</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 42</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">rescue</span> <span class="ruby-constant">StandardError</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">rescue</span> <span class="ruby-constant">StandardError</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-keyword">rescue</span> <span class="ruby-constant">StandardError</span>
<span class="ruby-identifier">lwarn</span> { <span class="ruby-string">&quot;the client ipaddr/name could not be determined&quot;</span> }
<span class="ruby-string">&quot;unknown&quot;</span>
<span class="ruby-keyword">end</span>
@@ -385,13 +385,13 @@ client 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 132</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 128</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-identifier">actual_length</span> = (<span class="ruby-identifier">client</span>.<span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">etm</span> <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</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>)
@@ -407,11 +407,32 @@ client state (compression, cipher, and hmac).</p>
<span class="ruby-identifier">padding</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">padding_length</span>) { <span class="ruby-identifier">rand</span>(<span class="ruby-value">256</span>) }.<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;C*&quot;</span>)
- <span class="ruby-identifier">unencrypted_data</span> = [<span class="ruby-identifier">packet_length</span>, <span class="ruby-identifier">padding_length</span>, <span class="ruby-identifier">payload</span>, <span class="ruby-identifier">padding</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;NCA*A*&quot;</span>)
- <span class="ruby-identifier">mac</span> = <span class="ruby-identifier">client</span>.<span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">digest</span>([<span class="ruby-identifier">client</span>.<span class="ruby-identifier">sequence_number</span>, <span class="ruby-identifier">unencrypted_data</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;NA*&quot;</span>))
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">client</span>.<span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">etm</span>
+ <span class="ruby-identifier">debug</span> { <span class="ruby-string">&quot;using encrypt-then-mac&quot;</span> }
- <span class="ruby-identifier">encrypted_data</span> = <span class="ruby-identifier">client</span>.<span class="ruby-identifier">update_cipher</span>(<span class="ruby-identifier">unencrypted_data</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">client</span>.<span class="ruby-identifier">final_cipher</span>
- <span class="ruby-identifier">message</span> = <span class="ruby-identifier">encrypted_data</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">mac</span>
+ <span class="ruby-comment"># Encrypt padding_length, payload, and padding. Take MAC</span>
+ <span class="ruby-comment"># from the unencrypted packet_lenght and the encrypted</span>
+ <span class="ruby-comment"># data.</span>
+ <span class="ruby-identifier">length_data</span> = [<span class="ruby-identifier">packet_length</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;N&quot;</span>)
+
+ <span class="ruby-identifier">unencrypted_data</span> = [<span class="ruby-identifier">padding_length</span>, <span class="ruby-identifier">payload</span>, <span class="ruby-identifier">padding</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;CA*A*&quot;</span>)
+
+ <span class="ruby-identifier">encrypted_data</span> = <span class="ruby-identifier">client</span>.<span class="ruby-identifier">update_cipher</span>(<span class="ruby-identifier">unencrypted_data</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">client</span>.<span class="ruby-identifier">final_cipher</span>
+
+ <span class="ruby-identifier">mac_data</span> = <span class="ruby-identifier">length_data</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">encrypted_data</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">mac_data</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;NA*&quot;</span>))
+
+ <span class="ruby-identifier">message</span> = <span class="ruby-identifier">mac_data</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">mac</span>
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">unencrypted_data</span> = [<span class="ruby-identifier">packet_length</span>, <span class="ruby-identifier">padding_length</span>, <span class="ruby-identifier">payload</span>, <span class="ruby-identifier">padding</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;NCA*A*&quot;</span>)
+
+ <span class="ruby-identifier">mac</span> = <span class="ruby-identifier">client</span>.<span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">digest</span>([<span class="ruby-identifier">client</span>.<span class="ruby-identifier">sequence_number</span>, <span class="ruby-identifier">unencrypted_data</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;NA*&quot;</span>))
+
+ <span class="ruby-identifier">encrypted_data</span> = <span class="ruby-identifier">client</span>.<span class="ruby-identifier">update_cipher</span>(<span class="ruby-identifier">unencrypted_data</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">client</span>.<span class="ruby-identifier">final_cipher</span>
+
+ <span class="ruby-identifier">message</span> = <span class="ruby-identifier">encrypted_data</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">mac</span>
+ <span class="ruby-keyword">end</span>
<span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;queueing packet nr #{client.sequence_number} type #{payload.getbyte(0)} len #{packet_length}&quot;</span> }
<span class="ruby-identifier">enqueue</span>(<span class="ruby-identifier">message</span>)
@@ -452,7 +473,7 @@ 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 177</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 194</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>
@@ -474,7 +495,7 @@ this will yield. Otherwise, this does nothing.</p>
<div class="method-heading">
<span class="method-name">next_packet</span><span
- class="method-args">(mode=:nonblock)</span>
+ class="method-args">(mode=:nonblock, timeout=nil)</span>
<span class="method-click-advice">click to toggle source</span>
@@ -487,14 +508,14 @@ this will yield. Otherwise, this does nothing.</p>
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>
+available or timeout seconds have passed.</p>
<div class="method-source-code" id="next_packet-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 84</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>)
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 85</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-identifier">timeout</span>=<span class="ruby-keyword">nil</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">packet</span> = <span class="ruby-identifier">poll_next_packet</span>
@@ -517,14 +538,9 @@ available.</p>
<span class="ruby-identifier">packet</span> = <span class="ruby-identifier">poll_next_packet</span>
<span class="ruby-keyword">return</span> <span class="ruby-identifier">packet</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">packet</span>
- <span class="ruby-identifier">loop</span> <span class="ruby-keyword">do</span>
- <span class="ruby-identifier">result</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Compat</span>.<span class="ruby-identifier">io_select</span>([<span class="ruby-keyword">self</span>]) <span class="ruby-keyword">or</span> <span class="ruby-keyword">next</span>
- <span class="ruby-keyword">break</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">any?</span>
- <span class="ruby-keyword">end</span>
-
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">fill</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value">0</span>
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Disconnect</span>, <span class="ruby-string">&quot;connection closed by remote host&quot;</span>
- <span class="ruby-keyword">end</span>
+ <span class="ruby-identifier">result</span> = <span class="ruby-constant">IO</span>.<span class="ruby-identifier">select</span>([<span class="ruby-keyword">self</span>], <span class="ruby-keyword">nil</span>, <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">timeout</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">ConnectionTimeout</span>, <span class="ruby-string">&quot;timeout waiting for next packet&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">result</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Disconnect</span>, <span class="ruby-string">&quot;connection closed by remote host&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">fill</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value">0</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">else</span>
@@ -561,7 +577,7 @@ 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 63</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 64</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>)
@@ -600,7 +616,7 @@ socket.</p>
<div class="method-source-code" id="send_packet-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 124</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 120</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>
@@ -643,7 +659,7 @@ 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 189</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 206</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>)
@@ -684,19 +700,27 @@ 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 202</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/packet_stream.rb, line 219</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">poll_next_packet</span>
+ <span class="ruby-identifier">aad_length</span> = <span class="ruby-identifier">server</span>.<span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">etm</span> <span class="ruby-operator">?</span> <span class="ruby-value">4</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>
+
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@packet</span>.<span class="ruby-identifier">nil?</span>
<span class="ruby-identifier">minimum</span> = <span class="ruby-identifier">server</span>.<span class="ruby-identifier">block_size</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">4</span> <span class="ruby-operator">?</span> <span class="ruby-value">4</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">server</span>.<span class="ruby-identifier">block_size</span>
<span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">available</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">minimum</span>
- <span class="ruby-identifier">data</span> = <span class="ruby-identifier">read_available</span>(<span class="ruby-identifier">minimum</span>)
+ <span class="ruby-identifier">data</span> = <span class="ruby-identifier">read_available</span>(<span class="ruby-identifier">minimum</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">aad_length</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">if</span> <span class="ruby-identifier">server</span>.<span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">etm</span>
+ <span class="ruby-ivar">@packet_length</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&quot;N&quot;</span>).<span class="ruby-identifier">first</span>
+ <span class="ruby-ivar">@mac_data</span> = <span class="ruby-identifier">data</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-identifier">aad_length</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]))
+ <span class="ruby-keyword">else</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-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">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">aad_length</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">server</span>.<span class="ruby-identifier">block_size</span>
<span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-node">&quot;padding error, need #{need} block #{server.block_size}&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">need</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">server</span>.<span class="ruby-identifier">block_size</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
<span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">available</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">need</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">server</span>.<span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">mac_length</span>
@@ -704,6 +728,7 @@ href="../Packet.html">Packet</a> object.</p>
<span class="ruby-keyword">if</span> <span class="ruby-identifier">need</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
<span class="ruby-comment"># read the remainder of the packet and decrypt it.</span>
<span class="ruby-identifier">data</span> = <span class="ruby-identifier">read_available</span>(<span class="ruby-identifier">need</span>)
+ <span class="ruby-ivar">@mac_data</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">data</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">server</span>.<span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">etm</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>
@@ -716,8 +741,12 @@ href="../Packet.html">Packet</a> object.</p>
<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">my_computed_hmac</span> = <span class="ruby-identifier">server</span>.<span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">digest</span>([<span class="ruby-identifier">server</span>.<span class="ruby-identifier">sequence_number</span>, <span class="ruby-ivar">@packet</span>.<span class="ruby-identifier">content</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;NA*&quot;</span>))
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-string">&quot;corrupted mac detected&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">real_hmac</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">my_computed_hmac</span>
+ <span class="ruby-identifier">my_computed_hmac</span> = <span class="ruby-keyword">if</span> <span class="ruby-identifier">server</span>.<span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">etm</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">@mac_data</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;NA*&quot;</span>))
+ <span class="ruby-keyword">else</span>
+ <span class="ruby-identifier">server</span>.<span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">digest</span>([<span class="ruby-identifier">server</span>.<span class="ruby-identifier">sequence_number</span>, <span class="ruby-ivar">@packet</span>.<span class="ruby-identifier">content</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&quot;NA*&quot;</span>))
+ <span class="ruby-keyword">end</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-string">&quot;corrupted hmac detected&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">real_hmac</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">my_computed_hmac</span>
<span class="ruby-comment"># try to decompress the payload, in case compression is active</span>
<span class="ruby-identifier">payload</span> = <span class="ruby-identifier">server</span>.<span class="ruby-identifier">decompress</span>(<span class="ruby-identifier">payload</span>)
diff --git a/Net/SSH/Transport/ServerVersion.html b/Net/SSH/Transport/ServerVersion.html
index 0822fef..71febd5 100644
--- a/Net/SSH/Transport/ServerVersion.html
+++ b/Net/SSH/Transport/ServerVersion.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::ServerVersion - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::ServerVersion - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../";
@@ -197,7 +197,7 @@ 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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/server_version.rb, line 30</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-identifier">timeout</span> = <span class="ruby-keyword">nil</span>)
<span class="ruby-ivar">@header</span> = <span class="ruby-string">&quot;&quot;</span>
<span class="ruby-ivar">@version</span> = <span class="ruby-keyword">nil</span>
diff --git a/Net/SSH/Transport/Session.html b/Net/SSH/Transport/Session.html
index 175a2bf..bd31b36 100644
--- a/Net/SSH/Transport/Session.html
+++ b/Net/SSH/Transport/Session.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::Session - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::Session - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../";
@@ -69,11 +69,11 @@
<ul class="link-list">
- <li><a class="include" href="Constants.html">Net::SSH::Transport::Constants</a>
+ <li><a class="include" href="../Loggable.html">Net::SSH::Loggable</a>
- <li><a class="include" href="../Loggable.html">Net::SSH::Loggable</a>
+ <li><a class="include" href="Constants.html">Net::SSH::Transport::Constants</a>
</ul>
@@ -317,7 +317,7 @@ session.</p>
<div class="method-source-code" id="new-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 56</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 59</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>]
@@ -345,7 +345,6 @@ session.</p>
<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">:verify_host_key</span>])
-
<span class="ruby-ivar">@server_version</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-identifier">options</span>[<span class="ruby-value">:timeout</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>)
@@ -393,7 +392,7 @@ and closes the underlying socket.</p>
<div class="method-source-code" id="close-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 126</span>
+ <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">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>
@@ -427,7 +426,7 @@ and closes the underlying socket.</p>
<div class="method-source-code" id="closed-3F-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 121</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 123</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>
@@ -600,7 +599,7 @@ href="../../SSH.html">SSH</a> known-host 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 102</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 104</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">host_as_string</span>
<span class="ruby-ivar">@host_as_string</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword">begin</span>
<span class="ruby-identifier">string</span> = <span class="ruby-node">&quot;#{host}&quot;</span>
@@ -647,7 +646,7 @@ href="../../SSH.html">SSH</a> known-host files.</p>
<div class="method-source-code" id="host_keys-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 93</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 95</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">host_keys</span>
<span class="ruby-ivar">@host_keys</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword">begin</span>
<span class="ruby-identifier">known_hosts</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:known_hosts</span>, <span class="ruby-constant">KnownHosts</span>)
@@ -684,7 +683,7 @@ 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 172</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 174</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>
@@ -719,7 +718,7 @@ 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 166</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 168</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-identifier">ip</span><span class="ruby-operator">:</span> <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">peer_ip</span>, <span class="ruby-identifier">port</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@port</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-identifier">host</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@host</span>, <span class="ruby-identifier">canonized</span><span class="ruby-operator">:</span> <span class="ruby-identifier">host_as_string</span> }
<span class="ruby-keyword">end</span></pre>
@@ -761,14 +760,12 @@ queue before the socket 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 187</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 189</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">poll_message</span>(<span class="ruby-identifier">mode</span>=<span class="ruby-value">:nonblock</span>, <span class="ruby-identifier">consume_queue</span>=<span class="ruby-keyword">true</span>)
<span class="ruby-identifier">loop</span> <span class="ruby-keyword">do</span>
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">consume_queue</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@queue</span>.<span class="ruby-identifier">any?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">algorithms</span>.<span class="ruby-identifier">allow?</span>(<span class="ruby-ivar">@queue</span>.<span class="ruby-identifier">first</span>)
- <span class="ruby-keyword">return</span> <span class="ruby-ivar">@queue</span>.<span class="ruby-identifier">shift</span>
- <span class="ruby-keyword">end</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-ivar">@queue</span>.<span class="ruby-identifier">shift</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">consume_queue</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@queue</span>.<span class="ruby-identifier">any?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">algorithms</span>.<span class="ruby-identifier">allow?</span>(<span class="ruby-ivar">@queue</span>.<span class="ruby-identifier">first</span>)
- <span class="ruby-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-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-identifier">options</span>[<span class="ruby-value">:timeout</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>
@@ -858,7 +855,7 @@ 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 149</span>
+ <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">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>
@@ -897,7 +894,7 @@ 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 159</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 161</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> }
@@ -967,7 +964,7 @@ 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 142</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 144</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>
@@ -1003,7 +1000,7 @@ underlying protocol&#39;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 135</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 137</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">shutdown!</span>
<span class="ruby-identifier">error</span> { <span class="ruby-string">&quot;forcing connection closed&quot;</span> }
<span class="ruby-identifier">socket</span>.<span class="ruby-identifier">close</span>
diff --git a/Net/SSH/Transport/Session/CompatibleVerifier.html b/Net/SSH/Transport/Session/CompatibleVerifier.html
new file mode 100644
index 0000000..62ce9dd
--- /dev/null
+++ b/Net/SSH/Transport/Session/CompatibleVerifier.html
@@ -0,0 +1,235 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>class Net::SSH::Transport::Session::CompatibleVerifier - net-ssh 6.0.0.beta1</title>
+
+<script type="text/javascript">
+ var rdoc_rel_prefix = "../../../../";
+ var index_rel_prefix = "../../../../";
+</script>
+
+<script src="../../../../js/jquery.js"></script>
+<script src="../../../../js/darkfish.js"></script>
+
+<link href="../../../../css/fonts.css" rel="stylesheet">
+<link href="../../../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="class">
+<nav role="navigation">
+ <div id="project-navigation">
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
+ <h2>
+ <a href="../../../../index.html" rel="home">Home</a>
+ </h2>
+
+ <div id="table-of-contents-navigation">
+ <a href="../../../../table_of_contents.html#pages">Pages</a>
+ <a href="../../../../table_of_contents.html#classes">Classes</a>
+ <a href="../../../../table_of_contents.html#methods">Methods</a>
+ </div>
+</div>
+
+ <div id="search-section" role="search" class="project-section initially-hidden">
+ <form action="#" method="get" accept-charset="utf-8">
+ <div id="search-field-wrapper">
+ <input id="search-field" role="combobox" aria-label="Search"
+ aria-autocomplete="list" aria-controls="search-results"
+ type="text" name="search" placeholder="Search" spellcheck="false"
+ title="Type to search, Up and Down to navigate, Enter to load">
+ </div>
+
+ <ul id="search-results" aria-label="Search Results"
+ aria-busy="false" aria-expanded="false"
+ aria-atomic="false" class="initially-hidden"></ul>
+ </form>
+</div>
+
+ </div>
+
+
+
+ <div id="class-metadata">
+
+ <div id="parent-class-section" class="nav-section">
+ <h3>Parent</h3>
+
+
+ <p class="link">Object
+
+</div>
+
+
+
+ <!-- Method Quickref -->
+<div id="method-list-section" class="nav-section">
+ <h3>Methods</h3>
+
+ <ul class="link-list" role="directory">
+
+ <li ><a href="#method-c-new">::new</a>
+
+ <li ><a href="#method-i-verify">#verify</a>
+
+ <li ><a href="#method-i-verify_signature">#verify_signature</a>
+
+ </ul>
+</div>
+
+ </div>
+</nav>
+
+<main role="main" aria-labelledby="class-Net::SSH::Transport::Session::CompatibleVerifier">
+ <h1 id="class-Net::SSH::Transport::Session::CompatibleVerifier" class="class">
+ class Net::SSH::Transport::Session::CompatibleVerifier
+ </h1>
+
+ <section class="description">
+
+<p>Compatibility verifier which allows users to keep using custom verifier
+code without adding new :verify_signature method.</p>
+
+ </section>
+
+
+
+
+ <section id="5Buntitled-5D" class="documentation-section">
+
+
+
+
+
+
+
+
+
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
+ <header>
+ <h3>Public Class Methods</h3>
+ </header>
+
+
+ <div id="method-c-new" class="method-detail ">
+
+ <div class="method-heading">
+ <span class="method-name">new</span><span
+ class="method-args">(verifier)</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/session.rb, line 281</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">verifier</span>)
+ <span class="ruby-ivar">@verifier</span> = <span class="ruby-identifier">verifier</span>
+<span class="ruby-keyword">end</span></pre>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+
+ </section>
+
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
+ <header>
+ <h3>Public Instance Methods</h3>
+ </header>
+
+
+ <div id="method-i-verify" class="method-detail ">
+
+ <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/transport/session.rb, line 285</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">verify</span>(<span class="ruby-identifier">arguments</span>)
+ <span class="ruby-ivar">@verifier</span>.<span class="ruby-identifier">verify</span>(<span class="ruby-identifier">arguments</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+
+ <div id="method-i-verify_signature" class="method-detail ">
+
+ <div class="method-heading">
+ <span class="method-name">verify_signature</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="verify_signature-source">
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/session.rb, line 289</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">verify_signature</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
+ <span class="ruby-keyword">yield</span>
+<span class="ruby-keyword">end</span></pre>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+
+ </section>
+
+ </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.0.0.
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
+</footer>
+
diff --git a/Net/SSH/Transport/State.html b/Net/SSH/Transport/State.html
index 49544f3..5e1cfbc 100644
--- a/Net/SSH/Transport/State.html
+++ b/Net/SSH/Transport/State.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
-<title>class Net::SSH::Transport::State - net-ssh 4.2.0</title>
+<title>class Net::SSH::Transport::State - net-ssh 6.0.0.beta1</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../../../";
@@ -341,7 +341,7 @@ 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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 59</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>
@@ -397,14 +397,14 @@ instantiated.</p>
<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&#39;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>
@@ -438,7 +438,7 @@ href="State.html#method-i-compressor">compressor</a> to compress 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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 122</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>
@@ -475,7 +475,7 @@ selected and the :authenticated hint has been received by the socket.</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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 116</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">compression?</span>
<span class="ruby-identifier">compression</span> <span class="ruby-operator">==</span> <span class="ruby-value">:standard</span> <span class="ruby-operator">||</span> (<span class="ruby-identifier">compression</span> <span class="ruby-operator">==</span> <span class="ruby-value">:delayed</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">hints</span>[<span class="ruby-value">:authenticated</span>])
<span class="ruby-keyword">end</span></pre>
@@ -509,7 +509,7 @@ the desired compression 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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 103</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>
@@ -545,7 +545,7 @@ 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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 130</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>
@@ -580,7 +580,7 @@ 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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 108</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>
@@ -613,7 +613,7 @@ data.</p>
<div class="method-source-code" id="final_cipher-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 84</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 86</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">final_cipher</span>
<span class="ruby-identifier">result</span> = <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">final</span>
<span class="ruby-identifier">update_next_iv</span>(<span class="ruby-identifier">role</span> <span class="ruby-operator">==</span> <span class="ruby-value">:client</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">result</span> <span class="ruby-operator">:</span> <span class="ruby-string">&quot;&quot;</span>, <span class="ruby-keyword">true</span>)
@@ -650,7 +650,7 @@ 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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 95</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-operator">&amp;</span> <span class="ruby-value">0xFFFFFFFF</span>
<span class="ruby-ivar">@packets</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
@@ -725,14 +725,14 @@ 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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 139</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">reset!</span>
<span class="ruby-ivar">@packets</span> = <span class="ruby-ivar">@blocks</span> = <span class="ruby-value">0</span>
-
+
<span class="ruby-ivar">@max_packets</span> <span class="ruby-operator">||=</span> <span class="ruby-value">1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">31</span>
-
- <span class="ruby-ivar">@block_size</span> = <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-string">&quot;RC4&quot;</span> <span class="ruby-operator">?</span> <span class="ruby-value">8</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">block_size</span>
-
+
+ <span class="ruby-ivar">@block_size</span> = <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">block_size</span>
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">max_blocks</span>.<span class="ruby-identifier">nil?</span>
<span class="ruby-comment"># cargo-culted from openssh. the idea is that &quot;the 2^(blocksize*2)</span>
<span class="ruby-comment"># limit is too expensive for 3DES, blowfish, etc., so enforce a 1GB</span>
@@ -742,15 +742,13 @@ href="State.html#attribute-i-max_blocks">#max_blocks</a> values.</p>
<span class="ruby-keyword">else</span>
<span class="ruby-ivar">@max_blocks</span> = (<span class="ruby-value">1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">30</span>) <span class="ruby-operator">/</span> <span class="ruby-ivar">@block_size</span>
<span class="ruby-keyword">end</span>
-
+
<span class="ruby-comment"># if a limit on the # of bytes has been given, convert that into a</span>
<span class="ruby-comment"># minimum number of blocks processed.</span>
-
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">rekey_limit</span>
- <span class="ruby-ivar">@max_blocks</span> = [<span class="ruby-ivar">@max_blocks</span>, <span class="ruby-identifier">rekey_limit</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@block_size</span>].<span class="ruby-identifier">min</span>
- <span class="ruby-keyword">end</span>
+
+ <span class="ruby-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">if</span> <span class="ruby-identifier">rekey_limit</span>
<span class="ruby-keyword">end</span>
-
+
<span class="ruby-identifier">cleanup</span>
<span class="ruby-keyword">end</span></pre>
</div>
@@ -783,7 +781,7 @@ 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>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 73</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">values</span>)
<span class="ruby-identifier">values</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
<span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-node">&quot;@#{key}&quot;</span>, <span class="ruby-identifier">value</span>)
@@ -819,7 +817,7 @@ command.</p>
<div class="method-source-code" id="update_cipher-source">
- <pre><span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 78</span>
+ <pre><span class="ruby-comment"># File lib/net/ssh/transport/state.rb, line 80</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>)