diff options
Diffstat (limited to 'Net/SSH/Authentication/Pageant/Socket.html')
| -rw-r--r-- | Net/SSH/Authentication/Pageant/Socket.html | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/Net/SSH/Authentication/Pageant/Socket.html b/Net/SSH/Authentication/Pageant/Socket.html index be1d947..0d0dd2d 100644 --- a/Net/SSH/Authentication/Pageant/Socket.html +++ b/Net/SSH/Authentication/Pageant/Socket.html @@ -4,7 +4,7 @@ <head> <meta charset="UTF-8"> -<title>class Net::SSH::Authentication::Pageant::Socket - net-ssh 4.2.0</title> +<title>class Net::SSH::Authentication::Pageant::Socket - net-ssh 6.0.0.beta1</title> <script type="text/javascript"> var rdoc_rel_prefix = "../../../../"; @@ -143,15 +143,15 @@ If no such instance is running, this will cause an error.</p> <div class="method-source-code" id="new-source"> - <pre><span class="ruby-comment"># File lib/net/ssh/authentication/pageant.rb, line 402</span> + <pre><span class="ruby-comment"># File lib/net/ssh/authentication/pageant.rb, line 403</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-ivar">@win</span> = <span class="ruby-constant">Win</span>.<span class="ruby-constant">FindWindow</span>(<span class="ruby-string">"Pageant"</span>, <span class="ruby-string">"Pageant"</span>) - + <span class="ruby-keyword">if</span> <span class="ruby-ivar">@win</span>.<span class="ruby-identifier">to_i</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">Exception</span>, <span class="ruby-string">"pageant process not running"</span> <span class="ruby-keyword">end</span> - + <span class="ruby-ivar">@input_buffer</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">new</span> <span class="ruby-ivar">@output_buffer</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Buffer</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">end</span></pre> @@ -185,7 +185,7 @@ instance.</p> <div class="method-source-code" id="open-source"> - <pre><span class="ruby-comment"># File lib/net/ssh/authentication/pageant.rb, line 396</span> + <pre><span class="ruby-comment"># File lib/net/ssh/authentication/pageant.rb, line 397</span> <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">open</span> <span class="ruby-identifier">new</span> <span class="ruby-keyword">end</span></pre> @@ -226,7 +226,7 @@ instance.</p> <div class="method-source-code" id="close-source"> - <pre><span class="ruby-comment"># File lib/net/ssh/authentication/pageant.rb, line 438</span> + <pre><span class="ruby-comment"># File lib/net/ssh/authentication/pageant.rb, line 439</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">close</span>; <span class="ruby-keyword">end</span></pre> </div> @@ -259,7 +259,7 @@ last query.</p> <div class="method-source-code" id="read-source"> - <pre><span class="ruby-comment"># File lib/net/ssh/authentication/pageant.rb, line 434</span> + <pre><span class="ruby-comment"># File lib/net/ssh/authentication/pageant.rb, line 435</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">read</span>(<span class="ruby-identifier">n</span> = <span class="ruby-keyword">nil</span>) <span class="ruby-ivar">@output_buffer</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">n</span>) <span class="ruby-keyword">end</span></pre> @@ -294,17 +294,17 @@ arguments after the first.</p> <div class="method-source-code" id="send-source"> - <pre><span class="ruby-comment"># File lib/net/ssh/authentication/pageant.rb, line 416</span> + <pre><span class="ruby-comment"># File lib/net/ssh/authentication/pageant.rb, line 417</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">send</span>(<span class="ruby-identifier">data</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>) <span class="ruby-ivar">@input_buffer</span>.<span class="ruby-identifier">append</span>(<span class="ruby-identifier">data</span>) - + <span class="ruby-identifier">ret</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">length</span> - + <span class="ruby-keyword">while</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">return</span> <span class="ruby-identifier">ret</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@input_buffer</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator"><</span> <span class="ruby-value">4</span> <span class="ruby-identifier">msg_length</span> = <span class="ruby-ivar">@input_buffer</span>.<span class="ruby-identifier">read_long</span> <span class="ruby-operator">+</span> <span class="ruby-value">4</span> <span class="ruby-ivar">@input_buffer</span>.<span class="ruby-identifier">reset!</span> - + <span class="ruby-keyword">return</span> <span class="ruby-identifier">ret</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@input_buffer</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">msg_length</span> <span class="ruby-identifier">msg</span> = <span class="ruby-ivar">@input_buffer</span>.<span class="ruby-identifier">read!</span>(<span class="ruby-identifier">msg_length</span>) <span class="ruby-ivar">@output_buffer</span>.<span class="ruby-identifier">append</span>(<span class="ruby-identifier">send_query</span>(<span class="ruby-identifier">msg</span>)) @@ -341,35 +341,35 @@ piece-wise when <a href="Socket.html#method-i-read">read</a> is called.</p> <div class="method-source-code" id="send_query-source"> - <pre><span class="ruby-comment"># File lib/net/ssh/authentication/pageant.rb, line 443</span> + <pre><span class="ruby-comment"># File lib/net/ssh/authentication/pageant.rb, line 444</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">send_query</span>(<span class="ruby-identifier">query</span>) <span class="ruby-identifier">res</span> = <span class="ruby-keyword">nil</span> <span class="ruby-identifier">filemap</span> = <span class="ruby-value">0</span> <span class="ruby-identifier">ptr</span> = <span class="ruby-keyword">nil</span> <span class="ruby-identifier">id</span> = <span class="ruby-constant">Win</span>.<span class="ruby-identifier">malloc_ptr</span>(<span class="ruby-constant">Win</span><span class="ruby-operator">::</span><span class="ruby-constant">SIZEOF_DWORD</span>) - + <span class="ruby-identifier">mapname</span> = <span class="ruby-string">"PageantRequest%08x"</span> <span class="ruby-operator">%</span> <span class="ruby-constant">Win</span>.<span class="ruby-constant">GetCurrentThreadId</span>() <span class="ruby-identifier">security_attributes</span> = <span class="ruby-constant">Win</span>.<span class="ruby-identifier">get_ptr</span> <span class="ruby-constant">Win</span>.<span class="ruby-identifier">get_security_attributes_for_user</span> - + <span class="ruby-identifier">filemap</span> = <span class="ruby-constant">Win</span>.<span class="ruby-constant">CreateFileMapping</span>(<span class="ruby-constant">Win</span><span class="ruby-operator">::</span><span class="ruby-constant">INVALID_HANDLE_VALUE</span>, <span class="ruby-identifier">security_attributes</span>, <span class="ruby-constant">Win</span><span class="ruby-operator">::</span><span class="ruby-constant">PAGE_READWRITE</span>, <span class="ruby-value">0</span>, <span class="ruby-constant">AGENT_MAX_MSGLEN</span>, <span class="ruby-identifier">mapname</span>) - + <span class="ruby-keyword">if</span> <span class="ruby-identifier">filemap</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">filemap</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Win</span><span class="ruby-operator">::</span><span class="ruby-constant">INVALID_HANDLE_VALUE</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">"Creation of file mapping failed with error: #{Win.GetLastError}"</span> <span class="ruby-keyword">end</span> - + <span class="ruby-identifier">ptr</span> = <span class="ruby-constant">Win</span>.<span class="ruby-constant">MapViewOfFile</span>(<span class="ruby-identifier">filemap</span>, <span class="ruby-constant">Win</span><span class="ruby-operator">::</span><span class="ruby-constant">FILE_MAP_WRITE</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span>) - + <span class="ruby-keyword">if</span> <span class="ruby-identifier">ptr</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">ptr</span>.<span class="ruby-identifier">null?</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">"Mapping of file failed"</span> <span class="ruby-keyword">end</span> - + <span class="ruby-constant">Win</span>.<span class="ruby-identifier">set_ptr_data</span>(<span class="ruby-identifier">ptr</span>, <span class="ruby-identifier">query</span>) - + <span class="ruby-comment"># using struct to achieve proper alignment and field size on 64-bit platform</span> <span class="ruby-identifier">cds</span> = <span class="ruby-constant">Win</span><span class="ruby-operator">::</span><span class="ruby-constant">COPYDATASTRUCT</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Win</span>.<span class="ruby-identifier">malloc_ptr</span>(<span class="ruby-constant">Win</span><span class="ruby-operator">::</span><span class="ruby-constant">COPYDATASTRUCT</span>.<span class="ruby-identifier">size</span>)) <span class="ruby-identifier">cds</span>.<span class="ruby-identifier">dwData</span> = <span class="ruby-constant">AGENT_COPYDATA_ID</span> @@ -377,14 +377,14 @@ piece-wise when <a href="Socket.html#method-i-read">read</a> is called.</p> <span class="ruby-identifier">cds</span>.<span class="ruby-identifier">lpData</span> = <span class="ruby-constant">Win</span>.<span class="ruby-identifier">get_cstr</span>(<span class="ruby-identifier">mapname</span>) <span class="ruby-identifier">succ</span> = <span class="ruby-constant">Win</span>.<span class="ruby-constant">SendMessageTimeout</span>(<span class="ruby-ivar">@win</span>, <span class="ruby-constant">Win</span><span class="ruby-operator">::</span><span class="ruby-constant">WM_COPYDATA</span>, <span class="ruby-constant">Win</span><span class="ruby-operator">::</span><span class="ruby-constant">NULL</span>, <span class="ruby-identifier">cds</span>.<span class="ruby-identifier">to_ptr</span>, <span class="ruby-constant">Win</span><span class="ruby-operator">::</span><span class="ruby-constant">SMTO_NORMAL</span>, <span class="ruby-value">5000</span>, <span class="ruby-identifier">id</span>) - + <span class="ruby-keyword">if</span> <span class="ruby-identifier">succ</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span> <span class="ruby-identifier">retlen</span> = <span class="ruby-value">4</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">ptr</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-value">4</span>).<span class="ruby-identifier">unpack</span>(<span class="ruby-string">"N"</span>)[<span class="ruby-value">0</span>] <span class="ruby-identifier">res</span> = <span class="ruby-identifier">ptr</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">retlen</span>) <span class="ruby-keyword">else</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-node">"Message failed with error: #{Win.GetLastError}"</span> <span class="ruby-keyword">end</span> - + <span class="ruby-keyword">return</span> <span class="ruby-identifier">res</span> <span class="ruby-keyword">ensure</span> <span class="ruby-constant">Win</span>.<span class="ruby-constant">UnmapViewOfFile</span>(<span class="ruby-identifier">ptr</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">ptr</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">ptr</span>.<span class="ruby-identifier">null?</span> |
