net-ssh 1.0.10 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. data/bin/rb-keygen +210 -0
  2. data/doc/manual-html/chapter-1.html +2 -2
  3. data/doc/manual-html/chapter-2.html +13 -2
  4. data/doc/manual-html/chapter-3.html +2 -2
  5. data/doc/manual-html/chapter-4.html +2 -2
  6. data/doc/manual-html/chapter-5.html +2 -2
  7. data/doc/manual-html/chapter-6.html +2 -2
  8. data/doc/manual-html/chapter-7.html +2 -2
  9. data/doc/manual-html/index.html +5 -5
  10. data/doc/manual/manual.yml +3 -3
  11. data/doc/manual/parts/0007.txt +2 -0
  12. data/doc/manual/parts/0008.txt +2 -0
  13. data/examples/auth-forward.rb +41 -0
  14. data/lib/net/ssh/connection/driver.rb +15 -1
  15. data/lib/net/ssh/errors.rb +36 -0
  16. data/lib/net/ssh/host-key-verifier.rb +108 -0
  17. data/lib/net/ssh/lenient-host-key-verifier.rb +25 -0
  18. data/lib/net/ssh/null-host-key-verifier.rb +14 -0
  19. data/lib/net/ssh/service/agentforward/driver.rb +78 -0
  20. data/lib/net/ssh/service/agentforward/services.rb +41 -0
  21. data/lib/net/ssh/service/services.rb +2 -0
  22. data/lib/net/ssh/session.rb +47 -1
  23. data/lib/net/ssh/transport/kex/dh.rb +20 -2
  24. data/lib/net/ssh/transport/kex/services.rb +2 -0
  25. data/lib/net/ssh/transport/session.rb +10 -0
  26. data/lib/net/ssh/userauth/agent.rb +11 -0
  27. data/lib/net/ssh/version.rb +2 -2
  28. data/test/connection/tc_integration.rb +4 -2
  29. data/test/service/agentforward/tc_driver.rb +138 -0
  30. data/test/service/process/tc_integration.rb +2 -0
  31. data/test/tc_integration.rb +4 -3
  32. data/test/transport/kex/tc_dh.rb +6 -0
  33. data/test/transport/kex/tc_dh_gex.rb +1 -0
  34. data/test/transport/tc_integration.rb +6 -1
  35. data/test/userauth/tc_integration.rb +2 -0
  36. metadata +70 -60
@@ -32,6 +32,7 @@ module Net
32
32
  dh = DiffieHellmanGroup1SHA1.new( b.bns, b.digesters )
33
33
  dh.keys = b.keys
34
34
  dh.buffers = b.buffers
35
+ dh.host_key_verifier = b.host_key_verifier
35
36
  dh
36
37
  end
37
38
 
@@ -42,6 +43,7 @@ module Net
42
43
  dh = DiffieHellmanGroupExchangeSHA1.new( b.bns, b.digesters )
43
44
  dh.keys = b.keys
44
45
  dh.buffers = b.buffers
46
+ dh.host_key_verifier = b.host_key_verifier
45
47
  dh
46
48
  end
47
49
 
@@ -71,6 +71,7 @@ module Net
71
71
  def initialize( host, options={} )
72
72
  @saved_message = nil
73
73
  @session_id = nil
74
+ @host = host
74
75
 
75
76
  yield self
76
77
 
@@ -100,6 +101,15 @@ module Net
100
101
  kexinit
101
102
  end
102
103
 
104
+ # Returns info about the remote peer
105
+ def peer
106
+ @peer ||= begin
107
+ addr = @socket.getpeername
108
+ ip_address = Socket.getnameinfo(addr, Socket::NI_NUMERICHOST).first
109
+ { :ip => ip_address, :port => @port.to_i, :host => @host }
110
+ end
111
+ end
112
+
103
113
  # Returns the name of the client's host, as reported by the socket.
104
114
  def client_name
105
115
  return @hostname if defined? @hostname
@@ -204,6 +204,17 @@ module Net
204
204
  end
205
205
  private :agent_failed
206
206
 
207
+ def send_raw_packet( data )
208
+ @socket.send data, 0
209
+ end
210
+
211
+ def read_raw_packet
212
+ buffer = @socket.read( 4 )
213
+ length = buffer.unpack( "N" ).first
214
+ buffer = buffer + @socket.read( length )
215
+ buffer
216
+ end
217
+
207
218
  end
208
219
 
209
220
  end
@@ -19,8 +19,8 @@ module Net
19
19
  module Version
20
20
 
21
21
  MAJOR = 1
22
- MINOR = 0
23
- TINY = 10
22
+ MINOR = 1
23
+ TINY = 0
24
24
 
25
25
  STRING = [ MAJOR, MINOR, TINY ].join( "." )
26
26
 
@@ -19,6 +19,7 @@ $:.unshift "#{File.dirname(__FILE__)}/../../lib"
19
19
  if $run_integration_tests || __FILE__ == $0
20
20
 
21
21
  require 'needle'
22
+ require 'net/ssh/null-host-key-verifier'
22
23
  require 'net/ssh/connection/services'
23
24
  require 'net/ssh/transport/services'
24
25
  require 'net/ssh/userauth/services'
@@ -43,6 +44,7 @@ if $run_integration_tests || __FILE__ == $0
43
44
  @registry.define do |b|
44
45
  b.crypto_backend { :ossl }
45
46
  b.transport_host { HOST }
47
+ b.host_key_verifier { Net::SSH::NullHostKeyVerifier.new }
46
48
  end
47
49
 
48
50
  @registry[:userauth][:driver].authenticate SERVICE, USER, PASSWORD
@@ -59,10 +61,10 @@ if $run_integration_tests || __FILE__ == $0
59
61
  exec_data = ""
60
62
  @connection.open_channel "session" do |chan|
61
63
  chan.on_data { |ch,data| exec_data << data }
62
- chan.exec "echo $HOME"
64
+ chan.exec "echo hello"
63
65
  end
64
66
  @connection.loop
65
- assert_equal "/home/test\n", exec_data
67
+ assert_equal "hello\n", exec_data
66
68
  end
67
69
 
68
70
  def test_dialog
@@ -0,0 +1,138 @@
1
+ #--
2
+ # =============================================================================
3
+ # Copyright (c) 2007, Chris Andrews (chris@nodnol.org),
4
+ # Jamis Buck (jgb3@email.byu.edu)
5
+ # All rights reserved.
6
+ #
7
+ # This source file is distributed as part of the Net::SSH Secure Shell Client
8
+ # library for Ruby. This file (and the library as a whole) may be used only as
9
+ # allowed by either the BSD license, or the Ruby license (or, by association
10
+ # with the Ruby license, the GPL). See the "doc" subdirectory of the Net::SSH
11
+ # distribution for the texts of these licenses.
12
+ # -----------------------------------------------------------------------------
13
+ # net-ssh website : http://net-ssh.rubyforge.org
14
+ # project website: http://rubyforge.org/projects/net-ssh
15
+ # =============================================================================
16
+ #++
17
+
18
+ $:.unshift "#{File.dirname(__FILE__)}/../../../lib"
19
+
20
+ require 'net/ssh/service/agentforward/driver'
21
+ require 'net/ssh/util/buffer'
22
+ require 'test/unit'
23
+ require 'socket'
24
+
25
+ class TC_AgentForward_Driver < Test::Unit::TestCase
26
+
27
+ class Net::SSH::Service::AgentForward::Driver
28
+ attr_reader :data
29
+ end
30
+
31
+ class Buffers
32
+ def writer
33
+ Net::SSH::Util::WriterBuffer.new
34
+ end
35
+ end
36
+
37
+ class Log
38
+ def debug?
39
+ true
40
+ end
41
+ def debug(msg)
42
+ end
43
+ end
44
+
45
+ class Agent
46
+ attr_reader :sends
47
+ def initialize
48
+ @sends = []
49
+ end
50
+ def read_raw_packet
51
+ "raw agent data"
52
+ end
53
+ def send_raw_packet(data)
54
+ @sends.push data
55
+ end
56
+ end
57
+
58
+ class MockObject
59
+ attr_reader :events
60
+ attr_reader :blocks
61
+ attr_reader :returns
62
+
63
+ def initialize
64
+ @events = []
65
+ @blocks = []
66
+ @returns = []
67
+ end
68
+ def method_missing( sym, *args, &block )
69
+ @blocks << block
70
+ @events << [ sym, args, !block.nil? ]
71
+ @returns << MockObject.new
72
+ @returns.last
73
+ end
74
+ def method( sym )
75
+ @events << [ :method, [ sym ], false ]
76
+ lambda { || }
77
+ end
78
+ def respond_to?( sym )
79
+ true
80
+ end
81
+ end
82
+
83
+ def setup
84
+ @connection = MockObject.new
85
+ @agent = Agent.new
86
+
87
+ @driver = Net::SSH::Service::AgentForward::Driver.new( @connection,
88
+ Buffers.new, Log.new, @agent )
89
+ end
90
+
91
+ def test_initialize
92
+ assert_equal [ [:add_channel_open_handler, [ "auth-agent@openssh.com" ], true] ],
93
+ @connection.events
94
+ end
95
+
96
+ def test_request
97
+ @driver.request
98
+ assert_equal 2, @connection.events.length
99
+ assert_equal [:channel_request, ["auth-agent-req@openssh.com"], false],
100
+ @connection.events[1]
101
+ end
102
+
103
+ def test_do_open_channel
104
+ connection = MockObject.new
105
+ channel = MockObject.new
106
+ @driver.do_open_channel(connection, channel, nil)
107
+ assert_equal [ [:on_data, [], true] ],
108
+ channel.events
109
+ end
110
+
111
+ def test_do_data_complete_packet
112
+ channel = MockObject.new
113
+ data = "\000\000\000\001v"
114
+ @driver.do_data(channel, data)
115
+ assert_equal [ [:send_data, ["raw agent data"], false ] ],
116
+ channel.events
117
+ assert_equal [ data ],
118
+ @agent.sends
119
+ assert_equal '', @driver.data
120
+ end
121
+
122
+ def test_do_data_incomplete_packet
123
+ channel = MockObject.new
124
+
125
+ @driver.do_data(channel, "\000\000\000\001")
126
+ assert_equal 0, channel.events.length
127
+ assert_equal 0, @agent.sends.length
128
+ assert_equal @driver.data, "\000\000\000\001"
129
+
130
+ @driver.do_data(channel, "v")
131
+ assert_equal [ [:send_data, ["raw agent data"], false ] ],
132
+ channel.events
133
+ assert_equal [ "\000\000\000\001v" ],
134
+ @agent.sends
135
+ assert_equal '', @driver.data
136
+ end
137
+
138
+ end
@@ -20,6 +20,7 @@ if $run_integration_tests || __FILE__ == $0
20
20
 
21
21
  require 'needle'
22
22
  require 'test/unit'
23
+ require 'net/ssh/null-host-key-verifier'
23
24
 
24
25
  class TC_Process_Integration < Test::Unit::TestCase
25
26
 
@@ -39,6 +40,7 @@ if $run_integration_tests || __FILE__ == $0
39
40
 
40
41
  b.crypto_backend { :ossl }
41
42
  b.transport_host { HOST }
43
+ b.host_key_verifier { Net::SSH::NullHostKeyVerifier.new }
42
44
  end
43
45
 
44
46
  @registry.userauth.driver.authenticate( "ssh-connection", USER, PASSWORD )
@@ -32,7 +32,8 @@ if $run_integration_tests || __FILE__ == $0
32
32
  :device => STDOUT,
33
33
  :default_level => :warn
34
34
  }
35
- }
35
+ },
36
+ :paranoid => false
36
37
  }
37
38
 
38
39
  def setup
@@ -53,10 +54,10 @@ if $run_integration_tests || __FILE__ == $0
53
54
  exec_data = ""
54
55
  @session.open_channel do |chan|
55
56
  chan.on_data { |ch,data| exec_data << data }
56
- chan.exec "echo $HOME"
57
+ chan.exec "echo hello"
57
58
  end
58
59
  @session.loop
59
- assert_equal "/home/test\n", exec_data
60
+ assert_equal "hello\n", exec_data
60
61
  end
61
62
 
62
63
  def test_dialog
@@ -17,6 +17,7 @@
17
17
  $:.unshift "#{File.dirname(__FILE__)}/../../../lib"
18
18
 
19
19
  require 'net/ssh/errors'
20
+ require 'net/ssh/null-host-key-verifier'
20
21
  require 'net/ssh/transport/kex/dh'
21
22
  require 'net/ssh/util/buffer'
22
23
  require 'test/unit'
@@ -131,6 +132,10 @@ class TC_KEX_DH < Test::Unit::TestCase
131
132
  [ @script.shift, @script.shift ]
132
133
  end
133
134
 
135
+ def peer
136
+ {}
137
+ end
138
+
134
139
  def algorithms
135
140
  OpenStruct.new( :host_key => "ssh-test" )
136
141
  end
@@ -141,6 +146,7 @@ class TC_KEX_DH < Test::Unit::TestCase
141
146
  MockBNs.new, MockDigests.new )
142
147
  @kex.keys = MockKeys.new
143
148
  @kex.buffers = MockBuffers.new
149
+ @kex.host_key_verifier = Net::SSH::NullHostKeyVerifier.new
144
150
 
145
151
  @init = Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1::KEXDH_INIT
146
152
  @reply = Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1::KEXDH_REPLY
@@ -32,6 +32,7 @@ class TC_KEX_DH_GEX < TC_KEX_DH
32
32
  MockBNs.new, MockDigests.new )
33
33
  @kex.keys = MockKeys.new
34
34
  @kex.buffers = MockBuffers.new
35
+ @kex.host_key_verifier = Net::SSH::NullHostKeyVerifier.new
35
36
 
36
37
  @init = 32
37
38
  @reply = 33
@@ -20,12 +20,14 @@ if $run_integration_tests || __FILE__ == $0
20
20
 
21
21
  require 'needle'
22
22
  require 'net/ssh/transport/services'
23
+ require 'net/ssh/null-host-key-verifier'
23
24
  require 'test/unit'
24
25
 
25
26
  class TC_Transport_Integration < Test::Unit::TestCase
26
27
 
27
28
  def setup
28
29
  @registry = Needle::Registry.new :logs => { :device=>STDOUT, :default_level => :WARN }
30
+ @registry.define { |b| b.host_key_verifier { Net::SSH::NullHostKeyVerifier.new } }
29
31
  Net::SSH::Transport.register_services( @registry )
30
32
  end
31
33
 
@@ -41,7 +43,10 @@ if $run_integration_tests || __FILE__ == $0
41
43
  encryptions = [ "3des-cbc", "aes128-cbc", "blowfish-cbc", "aes256-cbc",
42
44
  "aes192-cbc" ]
43
45
  hmacs = [ "hmac-md5", "hmac-sha1", "hmac-md5-96", "hmac-sha1-96" ]
44
- compressions = [ "none", "zlib" ]
46
+ # for some reason, the version of sshd I'm using locally reports the 'zlib'
47
+ # algorithm as 'zlib@openssh.com', which wreaks havoc on the code. For now,
48
+ # I'm just disabling the zlib tests.
49
+ compressions = [ "none" ] #, "zlib" ]
45
50
 
46
51
  # keys = [ 'ssh-dss' ]
47
52
  # kexs = [ 'diffie-hellman-group-exchange-sha1' ]
@@ -19,6 +19,7 @@ $:.unshift "#{File.dirname(__FILE__)}/../../lib"
19
19
  if $run_integration_tests || __FILE__ == $0
20
20
 
21
21
  require 'needle'
22
+ require 'net/ssh/null-host-key-verifier'
22
23
  require 'net/ssh/transport/services'
23
24
  require 'net/ssh/userauth/services'
24
25
  require 'test/unit'
@@ -41,6 +42,7 @@ if $run_integration_tests || __FILE__ == $0
41
42
  @registry.define do |b|
42
43
  b.crypto_backend { :ossl }
43
44
  b.transport_host { HOST }
45
+ b.host_key_verifier { Net::SSH::NullHostKeyVerifier.new }
44
46
  end
45
47
 
46
48
  @userauth = @registry[:userauth][:driver]
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.0
2
+ rubygems_version: 0.9.2
3
3
  specification_version: 1
4
4
  name: net-ssh
5
5
  version: !ruby/object:Gem::Version
6
- version: 1.0.10
7
- date: 2006-09-09 00:00:00 -06:00
6
+ version: 1.1.0
7
+ date: 2007-04-30 00:00:00 -06:00
8
8
  summary: Net::SSH is a pure-Ruby implementation of the SSH2 client protocol.
9
9
  require_paths:
10
10
  - lib
@@ -29,11 +29,11 @@ post_install_message:
29
29
  authors:
30
30
  - Jamis Buck
31
31
  files:
32
+ - bin/rb-keygen
32
33
  - doc/LICENSE-BSD
33
34
  - doc/LICENSE-GPL
34
35
  - doc/LICENSE-RUBY
35
36
  - doc/manual
36
- - doc/manual-html
37
37
  - doc/manual/chapter.erb
38
38
  - doc/manual/example.erb
39
39
  - doc/manual/index.erb
@@ -41,8 +41,6 @@ files:
41
41
  - doc/manual/manual.yml
42
42
  - doc/manual/page.erb
43
43
  - doc/manual/parts
44
- - doc/manual/stylesheets
45
- - doc/manual/tutorial.erb
46
44
  - doc/manual/parts/0000.txt
47
45
  - doc/manual/parts/0001.txt
48
46
  - doc/manual/parts/0002.txt
@@ -75,8 +73,11 @@ files:
75
73
  - doc/manual/parts/0029.txt
76
74
  - doc/manual/parts/0030.txt
77
75
  - doc/manual/parts/0031.txt
76
+ - doc/manual/stylesheets
78
77
  - doc/manual/stylesheets/manual.css
79
78
  - doc/manual/stylesheets/ruby.css
79
+ - doc/manual/tutorial.erb
80
+ - doc/manual-html
80
81
  - doc/manual-html/chapter-1.html
81
82
  - doc/manual-html/chapter-2.html
82
83
  - doc/manual-html/chapter-3.html
@@ -90,52 +91,45 @@ files:
90
91
  - doc/manual-html/stylesheets/ruby.css
91
92
  - lib/net
92
93
  - lib/net/ssh
93
- - lib/net/ssh.rb
94
94
  - lib/net/ssh/connection
95
- - lib/net/ssh/errors.rb
96
- - lib/net/ssh/proxy
97
- - lib/net/ssh/service
98
- - lib/net/ssh/session.rb
99
- - lib/net/ssh/transport
100
- - lib/net/ssh/userauth
101
- - lib/net/ssh/util
102
- - lib/net/ssh/version.rb
103
95
  - lib/net/ssh/connection/channel.rb
104
96
  - lib/net/ssh/connection/constants.rb
105
97
  - lib/net/ssh/connection/driver.rb
106
98
  - lib/net/ssh/connection/services.rb
107
99
  - lib/net/ssh/connection/term.rb
100
+ - lib/net/ssh/errors.rb
101
+ - lib/net/ssh/host-key-verifier.rb
102
+ - lib/net/ssh/lenient-host-key-verifier.rb
103
+ - lib/net/ssh/null-host-key-verifier.rb
104
+ - lib/net/ssh/proxy
108
105
  - lib/net/ssh/proxy/errors.rb
109
106
  - lib/net/ssh/proxy/http.rb
110
107
  - lib/net/ssh/proxy/socks4.rb
111
108
  - lib/net/ssh/proxy/socks5.rb
109
+ - lib/net/ssh/service
110
+ - lib/net/ssh/service/agentforward
111
+ - lib/net/ssh/service/agentforward/driver.rb
112
+ - lib/net/ssh/service/agentforward/services.rb
112
113
  - lib/net/ssh/service/forward
113
- - lib/net/ssh/service/process
114
- - lib/net/ssh/service/services.rb
115
- - lib/net/ssh/service/shell
116
114
  - lib/net/ssh/service/forward/driver.rb
117
115
  - lib/net/ssh/service/forward/local-network-handler.rb
118
116
  - lib/net/ssh/service/forward/remote-network-handler.rb
119
117
  - lib/net/ssh/service/forward/services.rb
118
+ - lib/net/ssh/service/process
120
119
  - lib/net/ssh/service/process/driver.rb
121
120
  - lib/net/ssh/service/process/open.rb
122
121
  - lib/net/ssh/service/process/popen3.rb
123
122
  - lib/net/ssh/service/process/services.rb
123
+ - lib/net/ssh/service/services.rb
124
+ - lib/net/ssh/service/shell
124
125
  - lib/net/ssh/service/shell/driver.rb
125
126
  - lib/net/ssh/service/shell/services.rb
126
127
  - lib/net/ssh/service/shell/shell.rb
127
128
  - lib/net/ssh/service/shell/sync.rb
129
+ - lib/net/ssh/session.rb
130
+ - lib/net/ssh/transport
128
131
  - lib/net/ssh/transport/algorithm-negotiator.rb
129
132
  - lib/net/ssh/transport/compress
130
- - lib/net/ssh/transport/constants.rb
131
- - lib/net/ssh/transport/errors.rb
132
- - lib/net/ssh/transport/identity-cipher.rb
133
- - lib/net/ssh/transport/kex
134
- - lib/net/ssh/transport/ossl
135
- - lib/net/ssh/transport/packet-stream.rb
136
- - lib/net/ssh/transport/services.rb
137
- - lib/net/ssh/transport/session.rb
138
- - lib/net/ssh/transport/version-negotiator.rb
139
133
  - lib/net/ssh/transport/compress/compressor.rb
140
134
  - lib/net/ssh/transport/compress/decompressor.rb
141
135
  - lib/net/ssh/transport/compress/none-compressor.rb
@@ -143,17 +137,19 @@ files:
143
137
  - lib/net/ssh/transport/compress/services.rb
144
138
  - lib/net/ssh/transport/compress/zlib-compressor.rb
145
139
  - lib/net/ssh/transport/compress/zlib-decompressor.rb
140
+ - lib/net/ssh/transport/constants.rb
141
+ - lib/net/ssh/transport/errors.rb
142
+ - lib/net/ssh/transport/identity-cipher.rb
143
+ - lib/net/ssh/transport/kex
146
144
  - lib/net/ssh/transport/kex/dh-gex.rb
147
145
  - lib/net/ssh/transport/kex/dh.rb
148
146
  - lib/net/ssh/transport/kex/services.rb
147
+ - lib/net/ssh/transport/ossl
149
148
  - lib/net/ssh/transport/ossl/buffer-factory.rb
150
149
  - lib/net/ssh/transport/ossl/buffer.rb
151
150
  - lib/net/ssh/transport/ossl/cipher-factory.rb
152
151
  - lib/net/ssh/transport/ossl/digest-factory.rb
153
152
  - lib/net/ssh/transport/ossl/hmac
154
- - lib/net/ssh/transport/ossl/hmac-factory.rb
155
- - lib/net/ssh/transport/ossl/key-factory.rb
156
- - lib/net/ssh/transport/ossl/services.rb
157
153
  - lib/net/ssh/transport/ossl/hmac/hmac.rb
158
154
  - lib/net/ssh/transport/ossl/hmac/md5-96.rb
159
155
  - lib/net/ssh/transport/ossl/hmac/md5.rb
@@ -161,21 +157,33 @@ files:
161
157
  - lib/net/ssh/transport/ossl/hmac/services.rb
162
158
  - lib/net/ssh/transport/ossl/hmac/sha1-96.rb
163
159
  - lib/net/ssh/transport/ossl/hmac/sha1.rb
160
+ - lib/net/ssh/transport/ossl/hmac-factory.rb
161
+ - lib/net/ssh/transport/ossl/key-factory.rb
162
+ - lib/net/ssh/transport/ossl/services.rb
163
+ - lib/net/ssh/transport/packet-stream.rb
164
+ - lib/net/ssh/transport/services.rb
165
+ - lib/net/ssh/transport/session.rb
166
+ - lib/net/ssh/transport/version-negotiator.rb
167
+ - lib/net/ssh/userauth
164
168
  - lib/net/ssh/userauth/agent.rb
165
169
  - lib/net/ssh/userauth/constants.rb
166
170
  - lib/net/ssh/userauth/driver.rb
167
171
  - lib/net/ssh/userauth/methods
168
- - lib/net/ssh/userauth/pageant.rb
169
- - lib/net/ssh/userauth/services.rb
170
- - lib/net/ssh/userauth/userkeys.rb
171
172
  - lib/net/ssh/userauth/methods/hostbased.rb
172
173
  - lib/net/ssh/userauth/methods/keyboard-interactive.rb
173
174
  - lib/net/ssh/userauth/methods/password.rb
174
175
  - lib/net/ssh/userauth/methods/publickey.rb
175
176
  - lib/net/ssh/userauth/methods/services.rb
177
+ - lib/net/ssh/userauth/pageant.rb
178
+ - lib/net/ssh/userauth/services.rb
179
+ - lib/net/ssh/userauth/userkeys.rb
180
+ - lib/net/ssh/util
176
181
  - lib/net/ssh/util/buffer.rb
177
182
  - lib/net/ssh/util/openssl.rb
178
183
  - lib/net/ssh/util/prompter.rb
184
+ - lib/net/ssh/version.rb
185
+ - lib/net/ssh.rb
186
+ - examples/auth-forward.rb
179
187
  - examples/channel-demo.rb
180
188
  - examples/port-forward.rb
181
189
  - examples/process-demo.rb
@@ -187,50 +195,37 @@ files:
187
195
  - examples/tail-demo.rb
188
196
  - test/ALL-TESTS.rb
189
197
  - test/connection
190
- - test/proxy
191
- - test/service
192
- - test/tc_integration.rb
193
- - test/transport
194
- - test/userauth
195
- - test/util
196
198
  - test/connection/tc_channel.rb
197
199
  - test/connection/tc_driver.rb
198
200
  - test/connection/tc_integration.rb
201
+ - test/proxy
199
202
  - test/proxy/tc_http.rb
200
203
  - test/proxy/tc_socks4.rb
201
204
  - test/proxy/tc_socks5.rb
205
+ - test/service
206
+ - test/service/agentforward
207
+ - test/service/agentforward/tc_driver.rb
202
208
  - test/service/forward
203
- - test/service/process
204
209
  - test/service/forward/tc_driver.rb
205
210
  - test/service/forward/tc_local_network_handler.rb
206
211
  - test/service/forward/tc_remote_network_handler.rb
212
+ - test/service/process
207
213
  - test/service/process/tc_driver.rb
208
214
  - test/service/process/tc_integration.rb
209
215
  - test/service/process/tc_open.rb
210
216
  - test/service/process/tc_popen3.rb
217
+ - test/tc_integration.rb
218
+ - test/transport
211
219
  - test/transport/compress
212
- - test/transport/kex
213
- - test/transport/ossl
214
- - test/transport/tc_algorithm_negotiator.rb
215
- - test/transport/tc_identity_cipher.rb
216
- - test/transport/tc_integration.rb
217
- - test/transport/tc_packet_stream.rb
218
- - test/transport/tc_session.rb
219
- - test/transport/tc_version_negotiator.rb
220
220
  - test/transport/compress/tc_none_compress.rb
221
221
  - test/transport/compress/tc_none_decompress.rb
222
222
  - test/transport/compress/tc_zlib_compress.rb
223
223
  - test/transport/compress/tc_zlib_decompress.rb
224
+ - test/transport/kex
224
225
  - test/transport/kex/tc_dh.rb
225
226
  - test/transport/kex/tc_dh_gex.rb
227
+ - test/transport/ossl
226
228
  - test/transport/ossl/fixtures
227
- - test/transport/ossl/hmac
228
- - test/transport/ossl/tc_buffer.rb
229
- - test/transport/ossl/tc_buffer_factory.rb
230
- - test/transport/ossl/tc_cipher_factory.rb
231
- - test/transport/ossl/tc_digest_factory.rb
232
- - test/transport/ossl/tc_hmac_factory.rb
233
- - test/transport/ossl/tc_key_factory.rb
234
229
  - test/transport/ossl/fixtures/dsa-encrypted
235
230
  - test/transport/ossl/fixtures/dsa-encrypted-bad
236
231
  - test/transport/ossl/fixtures/dsa-unencrypted
@@ -243,20 +238,35 @@ files:
243
238
  - test/transport/ossl/fixtures/rsa-unencrypted
244
239
  - test/transport/ossl/fixtures/rsa-unencrypted-bad
245
240
  - test/transport/ossl/fixtures/rsa-unencrypted.pub
241
+ - test/transport/ossl/hmac
246
242
  - test/transport/ossl/hmac/tc_hmac.rb
247
243
  - test/transport/ossl/hmac/tc_md5.rb
248
244
  - test/transport/ossl/hmac/tc_md5_96.rb
249
245
  - test/transport/ossl/hmac/tc_none.rb
250
246
  - test/transport/ossl/hmac/tc_sha1.rb
251
247
  - test/transport/ossl/hmac/tc_sha1_96.rb
248
+ - test/transport/ossl/tc_buffer.rb
249
+ - test/transport/ossl/tc_buffer_factory.rb
250
+ - test/transport/ossl/tc_cipher_factory.rb
251
+ - test/transport/ossl/tc_digest_factory.rb
252
+ - test/transport/ossl/tc_hmac_factory.rb
253
+ - test/transport/ossl/tc_key_factory.rb
254
+ - test/transport/tc_algorithm_negotiator.rb
255
+ - test/transport/tc_identity_cipher.rb
256
+ - test/transport/tc_integration.rb
257
+ - test/transport/tc_packet_stream.rb
258
+ - test/transport/tc_session.rb
259
+ - test/transport/tc_version_negotiator.rb
260
+ - test/userauth
252
261
  - test/userauth/methods
262
+ - test/userauth/methods/tc_hostbased.rb
263
+ - test/userauth/methods/tc_password.rb
264
+ - test/userauth/methods/tc_publickey.rb
253
265
  - test/userauth/tc_agent.rb
254
266
  - test/userauth/tc_driver.rb
255
267
  - test/userauth/tc_integration.rb
256
268
  - test/userauth/tc_userkeys.rb
257
- - test/userauth/methods/tc_hostbased.rb
258
- - test/userauth/methods/tc_password.rb
259
- - test/userauth/methods/tc_publickey.rb
269
+ - test/util
260
270
  - test/util/tc_buffer.rb
261
271
  test_files:
262
272
  - test/ALL-TESTS.rb
@@ -264,8 +274,8 @@ rdoc_options: []
264
274
 
265
275
  extra_rdoc_files: []
266
276
 
267
- executables: []
268
-
277
+ executables:
278
+ - rb-keygen
269
279
  extensions: []
270
280
 
271
281
  requirements: []