summaryrefslogtreecommitdiff
path: root/Net/SSH/Authentication/Pageant/Socket.html
diff options
context:
space:
mode:
Diffstat (limited to 'Net/SSH/Authentication/Pageant/Socket.html')
-rw-r--r--Net/SSH/Authentication/Pageant/Socket.html42
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">&quot;Pageant&quot;</span>, <span class="ruby-string">&quot;Pageant&quot;</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">&quot;pageant process not running&quot;</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">&lt;</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">&lt;</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">&quot;PageantRequest%08x&quot;</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">&quot;Creation of file mapping failed with error: #{Win.GetLastError}&quot;</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">&quot;Mapping of file failed&quot;</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">&gt;</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">&quot;N&quot;</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">&quot;Message failed with error: #{Win.GetLastError}&quot;</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>