diff options
author | Miklos Fazekas <mfazekas@szemafor.com> | 2019-10-25 19:30:38 +0200 |
---|---|---|
committer | Miklos Fazekas <mfazekas@szemafor.com> | 2019-10-25 19:30:38 +0200 |
commit | f52ea64977dd7dd30fbc49ac651cb5f784b0818c (patch) | |
tree | 0ff3a2f29c8a24dc814037c30de1140c90293428 /Net/SSH/Transport | |
parent | 51c0dce218783c7eb82e5b45d65cfcb20f733288 (diff) | |
download | net-ssh-gh-pages.tar.gz |
Update docsgh-pages
Diffstat (limited to 'Net/SSH/Transport')
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">"got KEXINIT from server"</span> } <span class="ruby-ivar">@server_data</span> = <span class="ruby-identifier">parse_server_algorithm_packet</span>(<span class="ruby-identifier">packet</span>) @@ -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">"Cannot call start if it's negotiation started or done"</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">""</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">""</span> - <span class="ruby-keyword">while</span> <span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">bytesize</span> <span class="ruby-operator">>=</span> <span class="ruby-identifier">block_size</span> - <span class="ruby-identifier">encrypted</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">xor!</span>(<span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">slice!</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">block_size</span>), + <span class="ruby-identifier">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">>=</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">""</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">''</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">""</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">'Q*'</span>).<span class="ruby-identifier">zip</span>(<span class="ruby-identifier">s2</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">'Q*'</span>)) {<span class="ruby-operator">|</span><span class="ruby-identifier">a</span>,<span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">a</span><span class="ruby-operator">^</span><span class="ruby-identifier">b</span>) } + <span class="ruby-identifier">s1</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">'Q*'</span>).<span class="ruby-identifier">zip</span>(<span class="ruby-identifier">s2</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">'Q*'</span>)) {<span class="ruby-operator">|</span><span class="ruby-identifier">a</span>,<span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">a</span> <span class="ruby-operator">^</span> <span class="ruby-identifier">b</span>) } <span class="ruby-identifier">s</span>.<span class="ruby-identifier">pack</span>(<span class="ruby-string">'Q*'</span>) <span class="ruby-keyword">end</span> <span class="ruby-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 "encrypt")</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 "encrypt")</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">""</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">''</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">""</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">></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">""</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">""</span> - <span class="ruby-keyword">while</span> <span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">bytesize</span> <span class="ruby-operator">>=</span> <span class="ruby-identifier">block_size</span> - <span class="ruby-identifier">encrypted</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">xor!</span>(<span class="ruby-ivar">@remaining</span>.<span class="ruby-identifier">slice!</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">block_size</span>), + <span class="ruby-identifier">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">>=</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">'Q*'</span>).<span class="ruby-identifier">zip</span>(<span class="ruby-identifier">s2</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">'Q*'</span>)) {<span class="ruby-operator">|</span><span class="ruby-identifier">a</span>,<span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">a</span><span class="ruby-operator">^</span><span class="ruby-identifier">b</span>) } + <span class="ruby-identifier">s1</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">'Q*'</span>).<span class="ruby-identifier">zip</span>(<span class="ruby-identifier">s2</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">'Q*'</span>)) {<span class="ruby-operator">|</span><span class="ruby-identifier">a</span>,<span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">a</span> <span class="ruby-operator">^</span> <span class="ruby-identifier">b</span>) } <span class="ruby-identifier">s</span>.<span class="ruby-identifier">pack</span>(<span class="ruby-string">'Q*'</span>) <span class="ruby-keyword">end</span></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'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'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">"unimplemented cipher `#{name}'"</span> <span class="ruby-keyword">return</span> <span class="ruby-constant">IdentityCipher</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">ossl_name</span> <span class="ruby-operator">==</span> <span class="ruby-string">"none"</span> <span class="ruby-identifier">cipher</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">Cipher</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">ossl_name</span>) - + <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:encrypt</span>] <span class="ruby-operator">?</span> <span class="ruby-value">:encrypt</span> <span class="ruby-operator">:</span> <span class="ruby-value">:decrypt</span>) - + <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">padding</span> = <span class="ruby-value">0</span> - - <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">extend</span>(<span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Transport</span><span class="ruby-operator">::</span><span class="ruby-constant">CTR</span>) <span class="ruby-keyword">if</span> (<span class="ruby-identifier">name</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/-ctr(@openssh.org)?$/</span>) - <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">iv</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Transport</span><span class="ruby-operator">::</span><span class="ruby-constant">KeyExpander</span>.<span class="ruby-identifier">expand_key</span>(<span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">iv_len</span>, <span class="ruby-identifier">options</span>[<span class="ruby-value">:iv</span>], <span class="ruby-identifier">options</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">ossl_name</span> <span class="ruby-operator">!=</span> <span class="ruby-string">"rc4"</span> - - <span class="ruby-identifier">key_len</span> = <span class="ruby-constant">KEY_LEN_OVERRIDE</span>[<span class="ruby-identifier">name</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">key_len</span> + + <span class="ruby-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">" "</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">"rc4"</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">!=</span> <span class="ruby-string">"arcfour"</span>) - + <span class="ruby-keyword">return</span> <span class="ruby-identifier">cipher</span> <span class="ruby-keyword">end</span></pre> </div> @@ -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">"none"</span> @@ -231,10 +228,18 @@ supplied the third return value will be ivlen</p> <span class="ruby-identifier">result</span> <span class="ruby-operator"><<</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">"rc4"</span> <span class="ruby-operator">?</span> <span class="ruby-value">8</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">block_size</span>] + + <span class="ruby-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"><<</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">"unimplemented cipher `#{name}'"</span> <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">ossl_name</span> <span class="ruby-operator">==</span> <span class="ruby-string">"none"</span> 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">""</span>, <span class="ruby-identifier">parameters</span> = {}) <span class="ruby-identifier">impl</span> = <span class="ruby-constant">MAP</span>[<span class="ruby-identifier">name</span>] <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">"hmac not found: #{name.inspect}"</span> <span class="ruby-identifier">impl</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Transport</span><span class="ruby-operator">::</span><span class="ruby-constant">KeyExpander</span>.<span class="ruby-identifier">expand_key</span>(<span class="ruby-identifier">impl</span>.<span class="ruby-identifier">key_length</span>, <span class="ruby-identifier">key</span>, <span class="ruby-identifier">parameters</span>)) @@ -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">"hmac not found: #{name.inspect}"</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">&&</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">"wrong number of arguments (#{v.length} for 1)"</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">""</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">"identity"</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">'abstract class: digester not implemented'</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">'abstract class: curve_name not implemented'</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">"net-ssh requires the following gems for x25519 support:\n"</span> + <span class="ruby-identifier">result</span> <span class="ruby-operator"><<</span> <span class="ruby-string">" * x25519\n"</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">''</span> + <span class="ruby-identifier">description</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"#{ERROR.class} : \"#{ERROR.message}\"\n"</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">"#{message}\n#{description}"</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">'nistp256'</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">'nistp384'</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">'nistp521'</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">""</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">>=</span> <span class="ruby-identifier">bytes</span> - + <span class="ruby-identifier">digester</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:digester</span>] <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-string">'No digester supplied'</span> <span class="ruby-identifier">shared</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:shared</span>] <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-string">'No shared secret supplied'</span> <span class="ruby-identifier">hash</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:hash</span>] <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-string">'No hash supplied'</span> - + <span class="ruby-keyword">while</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">bytes</span> <span class="ruby-identifier">step</span> = <span class="ruby-identifier">digester</span>.<span class="ruby-identifier">digest</span>(<span class="ruby-identifier">shared</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">hash</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">k</span>) <span class="ruby-identifier">bytes_needed</span> = <span class="ruby-identifier">bytes</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">length</span> <span class="ruby-identifier">k</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">step</span>[<span class="ruby-value">0</span>, <span class="ruby-identifier">bytes_needed</span>] <span class="ruby-keyword">end</span> - + <span class="ruby-keyword">return</span> <span class="ruby-identifier">k</span> <span class="ruby-keyword">end</span></pre> </div> 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">&&</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">"the client ipaddr/name could not be determined"</span> } <span class="ruby-string">"unknown"</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">"C*"</span>) - <span class="ruby-identifier">unencrypted_data</span> = [<span class="ruby-identifier">packet_length</span>, <span class="ruby-identifier">padding_length</span>, <span class="ruby-identifier">payload</span>, <span class="ruby-identifier">padding</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">"NCA*A*"</span>) - <span class="ruby-identifier">mac</span> = <span class="ruby-identifier">client</span>.<span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">digest</span>([<span class="ruby-identifier">client</span>.<span class="ruby-identifier">sequence_number</span>, <span class="ruby-identifier">unencrypted_data</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">"NA*"</span>)) + <span class="ruby-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">"using encrypt-then-mac"</span> } - <span class="ruby-identifier">encrypted_data</span> = <span class="ruby-identifier">client</span>.<span class="ruby-identifier">update_cipher</span>(<span class="ruby-identifier">unencrypted_data</span>) <span class="ruby-operator"><<</span> <span class="ruby-identifier">client</span>.<span class="ruby-identifier">final_cipher</span> - <span class="ruby-identifier">message</span> = <span class="ruby-identifier">encrypted_data</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">mac</span> + <span class="ruby-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">"N"</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">"CA*A*"</span>) + + <span class="ruby-identifier">encrypted_data</span> = <span class="ruby-identifier">client</span>.<span class="ruby-identifier">update_cipher</span>(<span class="ruby-identifier">unencrypted_data</span>) <span class="ruby-operator"><<</span> <span class="ruby-identifier">client</span>.<span class="ruby-identifier">final_cipher</span> + + <span class="ruby-identifier">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">"NA*"</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">"NCA*A*"</span>) + + <span class="ruby-identifier">mac</span> = <span class="ruby-identifier">client</span>.<span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">digest</span>([<span class="ruby-identifier">client</span>.<span class="ruby-identifier">sequence_number</span>, <span class="ruby-identifier">unencrypted_data</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">"NA*"</span>)) + + <span class="ruby-identifier">encrypted_data</span> = <span class="ruby-identifier">client</span>.<span class="ruby-identifier">update_cipher</span>(<span class="ruby-identifier">unencrypted_data</span>) <span class="ruby-operator"><<</span> <span class="ruby-identifier">client</span>.<span class="ruby-identifier">final_cipher</span> + + <span class="ruby-identifier">message</span> = <span class="ruby-identifier">encrypted_data</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">mac</span> + <span class="ruby-keyword">end</span> <span class="ruby-identifier">debug</span> { <span class="ruby-node">"queueing packet nr #{client.sequence_number} type #{payload.getbyte(0)} len #{packet_length}"</span> } <span class="ruby-identifier">enqueue</span>(<span class="ruby-identifier">message</span>) @@ -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"><=</span> <span class="ruby-value">0</span> - <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Disconnect</span>, <span class="ruby-string">"connection closed by remote host"</span> - <span class="ruby-keyword">end</span> + <span class="ruby-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">"timeout waiting for next packet"</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">"connection closed by remote host"</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">fill</span> <span class="ruby-operator"><=</span> <span class="ruby-value">0</span> <span class="ruby-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"><</span> <span class="ruby-value">4</span> <span class="ruby-operator">?</span> <span class="ruby-value">4</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">server</span>.<span class="ruby-identifier">block_size</span> <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">available</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">minimum</span> - <span class="ruby-identifier">data</span> = <span class="ruby-identifier">read_available</span>(<span class="ruby-identifier">minimum</span>) + <span class="ruby-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">"N"</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">"padding error, need #{need} block #{server.block_size}"</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">need</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">server</span>.<span class="ruby-identifier">block_size</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">available</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">need</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">server</span>.<span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">mac_length</span> @@ -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">></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">"NA*"</span>)) - <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-string">"corrupted mac detected"</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">real_hmac</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">my_computed_hmac</span> + <span class="ruby-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">"NA*"</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">"NA*"</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">"corrupted hmac detected"</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">real_hmac</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">my_computed_hmac</span> <span class="ruby-comment"># try to decompress the payload, in case compression is active</span> <span class="ruby-identifier">payload</span> = <span class="ruby-identifier">server</span>.<span class="ruby-identifier">decompress</span>(<span class="ruby-identifier">payload</span>) 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">""</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">"#{host}"</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">&&</span> <span class="ruby-ivar">@queue</span>.<span class="ruby-identifier">any?</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">algorithms</span>.<span class="ruby-identifier">allow?</span>(<span class="ruby-ivar">@queue</span>.<span class="ruby-identifier">first</span>) - <span class="ruby-keyword">return</span> <span class="ruby-ivar">@queue</span>.<span class="ruby-identifier">shift</span> - <span class="ruby-keyword">end</span> + <span class="ruby-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">&&</span> <span class="ruby-ivar">@queue</span>.<span class="ruby-identifier">any?</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">algorithms</span>.<span class="ruby-identifier">allow?</span>(<span class="ruby-ivar">@queue</span>.<span class="ruby-identifier">first</span>) - <span class="ruby-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'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">"forcing connection closed"</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">&</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'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">&&</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">""</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">&</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"><<</span> <span class="ruby-value">31</span> - - <span class="ruby-ivar">@block_size</span> = <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-string">"RC4"</span> <span class="ruby-operator">?</span> <span class="ruby-value">8</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">cipher</span>.<span class="ruby-identifier">block_size</span> - + + <span class="ruby-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 "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"><<</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">"@#{key}"</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>) |