net-ssh 2.6.7 → 2.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES.txt +7 -0
- data/README.rdoc +5 -2
- data/Rakefile +2 -2
- data/lib/net/ssh.rb +1 -1
- data/lib/net/ssh/config.rb +2 -1
- data/lib/net/ssh/connection/session.rb +1 -1
- data/lib/net/ssh/version.rb +1 -1
- data/net-ssh.gemspec +3 -4
- data/test/configs/substitutes +8 -0
- data/test/test_buffer.rb +2 -0
- data/test/test_config.rb +23 -0
- data/test/transport/hmac/test_md5.rb +2 -0
- data/test/transport/hmac/test_md5_96.rb +2 -0
- data/test/transport/hmac/test_ripemd160.rb +2 -0
- data/test/transport/hmac/test_sha1.rb +2 -0
- data/test/transport/hmac/test_sha1_96.rb +2 -0
- data/test/transport/hmac/test_sha2_256.rb +2 -0
- data/test/transport/hmac/test_sha2_256_96.rb +2 -0
- data/test/transport/hmac/test_sha2_512.rb +2 -0
- data/test/transport/hmac/test_sha2_512_96.rb +2 -0
- data/test/transport/test_cipher_factory.rb +2 -0
- data/test/transport/test_packet_stream.rb +2 -0
- data/test/transport/test_state.rb +2 -0
- metadata +4 -31
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -4
data/CHANGES.txt
CHANGED
@@ -1,4 +1,11 @@
|
|
1
1
|
|
2
|
+
=== 2.6.8 / 6 Jul 2013
|
3
|
+
|
4
|
+
* Added support for host wildcard substitution [GabKlein]
|
5
|
+
* Added a wait to the loop in close to help fix possible blocks [Josh Kalderimis]
|
6
|
+
* Fixed test file encoding issues with Ruby 2.0 (#87) [voxik]
|
7
|
+
|
8
|
+
|
2
9
|
=== 2.6.7 / 11 Apr 2013
|
3
10
|
|
4
11
|
* Decreased default packet size to 32768 as described in RFC 4253 [Olipro]
|
data/README.rdoc
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
= Net::SSH 2.x
|
2
2
|
|
3
|
+
<em><b>Please note: this project is in maintenance mode. It is not under active development but pull requests are very much welcome. Just be sure to include tests! -- delano</b></em>
|
4
|
+
|
5
|
+
|
3
6
|
* Docs: http://net-ssh.github.com/net-ssh
|
4
7
|
* Issues: https://github.com/net-ssh/net-ssh/issues
|
5
8
|
* Codes: https://github.com/net-ssh/net-ssh
|
@@ -94,7 +97,7 @@ Lastly, if you want to run the tests or use any of the Rake tasks, you'll need:
|
|
94
97
|
|
95
98
|
NOTE: If you are running on jruby you need to install jruby-pageant manually (gemspec doesn't allow for platform specific dependencies).
|
96
99
|
|
97
|
-
However, in order to be sure the code you're installing hasn't been tampered with, it's recommended that you verify the
|
100
|
+
However, in order to be sure the code you're installing hasn't been tampered with, it's recommended that you verify the signature[http://docs.rubygems.org/read/chapter/21]. To do this, you need to add my public key as a trusted certificate (you only need to do this once):
|
98
101
|
|
99
102
|
# Add the public key as a trusted certificate
|
100
103
|
# (You only need to do this once)
|
@@ -153,7 +156,7 @@ which should produce the following:
|
|
153
156
|
|
154
157
|
Run the test suite from the net-ssh directory with the following command:
|
155
158
|
|
156
|
-
ruby -Ilib -Itest -rrubygems test/test_all.rb
|
159
|
+
bash -c 'unset HOME && ruby -Ilib -Itest -rrubygems test/test_all.rb'
|
157
160
|
|
158
161
|
Run a single test file like this:
|
159
162
|
|
data/Rakefile
CHANGED
@@ -34,8 +34,8 @@ begin
|
|
34
34
|
|
35
35
|
s.license = "MIT"
|
36
36
|
|
37
|
-
s.signing_key = File.join('/mnt/gem/', 'gem-private_key.pem')
|
38
|
-
s.cert_chain = ['gem-public_cert.pem']
|
37
|
+
#s.signing_key = File.join('/mnt/gem/', 'gem-private_key.pem')
|
38
|
+
#s.cert_chain = ['gem-public_cert.pem']
|
39
39
|
end
|
40
40
|
Jeweler::GemcutterTasks.new
|
41
41
|
rescue LoadError
|
data/lib/net/ssh.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Make sure HOME is set, regardless of OS, so that File.expand_path works
|
2
2
|
# as expected with tilde characters.
|
3
|
-
ENV['HOME'] ||= ENV['HOMEPATH'] ? "#{ENV['HOMEDRIVE']}#{ENV['HOMEPATH']}" :
|
3
|
+
ENV['HOME'] ||= ENV['HOMEPATH'] ? "#{ENV['HOMEDRIVE']}#{ENV['HOMEPATH']}" : Dir.pwd
|
4
4
|
|
5
5
|
require 'logger'
|
6
6
|
|
data/lib/net/ssh/config.rb
CHANGED
@@ -92,6 +92,7 @@ module Net; module SSH
|
|
92
92
|
multi_host = value.to_s.split(/\s+/)
|
93
93
|
matched_host = multi_host.select { |h| host =~ pattern2regex(h) }.first
|
94
94
|
seen_host = true
|
95
|
+
settings[key] = host
|
95
96
|
elsif !seen_host
|
96
97
|
if key == 'identityfile'
|
97
98
|
(globals[key] ||= []) << value
|
@@ -145,7 +146,7 @@ module Net; module SSH
|
|
145
146
|
when 'hostkeyalias' then
|
146
147
|
hash[:host_key_alias] = value
|
147
148
|
when 'hostname' then
|
148
|
-
hash[:host_name] = value
|
149
|
+
hash[:host_name] = value.gsub(/%h/, settings['host'])
|
149
150
|
when 'identityfile' then
|
150
151
|
hash[:keys] = value
|
151
152
|
when 'macs' then
|
@@ -110,7 +110,7 @@ module Net; module SSH; module Connection
|
|
110
110
|
def close
|
111
111
|
info { "closing remaining channels (#{channels.length} open)" }
|
112
112
|
channels.each { |id, channel| channel.close }
|
113
|
-
loop { channels.any? }
|
113
|
+
loop(0.1) { channels.any? }
|
114
114
|
transport.close
|
115
115
|
end
|
116
116
|
|
data/lib/net/ssh/version.rb
CHANGED
data/net-ssh.gemspec
CHANGED
@@ -5,12 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "net-ssh"
|
8
|
-
s.version = "2.6.
|
8
|
+
s.version = "2.6.8"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jamis Buck", "Delano Mandelbaum"]
|
12
|
-
s.
|
13
|
-
s.date = "2013-04-11"
|
12
|
+
s.date = "2013-07-06"
|
14
13
|
s.description = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol. It allows you to write programs that invoke and interact with processes on remote servers, via SSH2."
|
15
14
|
s.email = "net-ssh@solutious.com"
|
16
15
|
s.extra_rdoc_files = [
|
@@ -127,6 +126,7 @@ Gem::Specification.new do |s|
|
|
127
126
|
"test/configs/multihost",
|
128
127
|
"test/configs/nohost",
|
129
128
|
"test/configs/numeric_host",
|
129
|
+
"test/configs/substitutes",
|
130
130
|
"test/configs/wild_cards",
|
131
131
|
"test/connection/test_channel.rb",
|
132
132
|
"test/connection/test_session.rb",
|
@@ -170,7 +170,6 @@ Gem::Specification.new do |s|
|
|
170
170
|
s.require_paths = ["lib"]
|
171
171
|
s.rubyforge_project = "net-ssh"
|
172
172
|
s.rubygems_version = "1.8.25"
|
173
|
-
s.signing_key = "/mnt/gem/gem-private_key.pem"
|
174
173
|
s.summary = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol."
|
175
174
|
|
176
175
|
if s.respond_to? :specification_version then
|
data/test/test_buffer.rb
CHANGED
data/test/test_config.rb
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
require 'common'
|
2
2
|
require 'net/ssh/config'
|
3
|
+
require 'pathname'
|
3
4
|
|
4
5
|
class TestConfig < Test::Unit::TestCase
|
6
|
+
def test_home_should_be_absolute_path
|
7
|
+
assert Pathname.new(ENV['HOME']).absolute?
|
8
|
+
end
|
9
|
+
|
5
10
|
def test_load_for_non_existant_file_should_return_empty_hash
|
6
11
|
bogus_file = File.expand_path("/bogus/file")
|
7
12
|
File.expects(:readable?).with(bogus_file).returns(false)
|
@@ -111,6 +116,24 @@ class TestConfig < Test::Unit::TestCase
|
|
111
116
|
assert_equal '2G', config['rekeylimit']
|
112
117
|
assert_equal 1980, config['port']
|
113
118
|
end
|
119
|
+
|
120
|
+
def test_load_wildcar_with_substitutes
|
121
|
+
config = Net::SSH::Config.load(config(:substitutes), "toto")
|
122
|
+
net_ssh = Net::SSH::Config.translate(config)
|
123
|
+
assert_equal 'toto', net_ssh[:host_name]
|
124
|
+
end
|
125
|
+
|
126
|
+
def test_load_sufix_with_substitutes
|
127
|
+
config = Net::SSH::Config.load(config(:substitutes), "test")
|
128
|
+
net_ssh = Net::SSH::Config.translate(config)
|
129
|
+
assert_equal 'test.sufix', net_ssh[:host_name]
|
130
|
+
end
|
131
|
+
|
132
|
+
def test_load_prefix_and_sufix_with_substitutes
|
133
|
+
config = Net::SSH::Config.load(config(:substitutes), "1234")
|
134
|
+
net_ssh = Net::SSH::Config.translate(config)
|
135
|
+
assert_equal 'prefix.1234.sufix', net_ssh[:host_name]
|
136
|
+
end
|
114
137
|
|
115
138
|
private
|
116
139
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-ssh
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.6.
|
4
|
+
version: 2.6.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,36 +9,8 @@ authors:
|
|
9
9
|
- Delano Mandelbaum
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
|
-
cert_chain:
|
13
|
-
-
|
14
|
-
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUROakNDQWg2Z0F3SUJB
|
15
|
-
Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREJCTVE4d0RRWURWUVFEREFaa1pX
|
16
|
-
eGgKYm04eEdUQVhCZ29Ka2lhSmsvSXNaQUVaRmdsemIyeDFkR2x2ZFhNeEV6
|
17
|
-
QVJCZ29Ka2lhSmsvSXNaQUVaRmdOagpiMjB3SGhjTk1UTXdNakEyTVRFMU56
|
18
|
-
UTFXaGNOTVRRd01qQTJNVEUxTnpRMVdqQkJNUTh3RFFZRFZRUUREQVprClpX
|
19
|
-
eGhibTh4R1RBWEJnb0praWFKay9Jc1pBRVpGZ2x6YjJ4MWRHbHZkWE14RXpB
|
20
|
-
UkJnb0praWFKay9Jc1pBRVoKRmdOamIyMHdnZ0VpTUEwR0NTcUdTSWIzRFFF
|
21
|
-
QkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEZzFoTXRsMFhzTXVVSwpBS1RnWVd2
|
22
|
-
M2dqajd2dUVzRTJFalQrdnlCZzgvTHBxVlZ3WnppaWFlYkpUOUlaaVErc0NG
|
23
|
-
cWJpYWtqMGI1M3BJCmhnMXlPYUJFbUg2L1cwTDdyd3pxYVJWOXNXMWVKczlK
|
24
|
-
eEZZUUNuZDY3elVuemo4bm5SbE9qRytoaElHK1ZzaWoKbnBzR2J0MjhwZWZ1
|
25
|
-
TlpKak81cTJjbEFsZlNuaUlJSGZJc1U3L1N0RVl1NkZVR09qbndyeVowcjV5
|
26
|
-
SmxyOVJyRQpHcytxMERXOFFuWjlVcEFmdURGUVp1SXFlS1FGRkxFN25NbUNH
|
27
|
-
YUErMEJOMW5MbDNmVkhOYkxIcTdBdms4K1orClp1dXZrZHNjYkhsTy9sKzN4
|
28
|
-
Q05RNW5Vbkh3cTBBREFiTUxPbG1pWVl6cVhvV0xqbWVJNm1lL2Nsa3RKQ2ZO
|
29
|
-
MlIKb1pHM1VRdnZBZ01CQUFHak9UQTNNQWtHQTFVZEV3UUNNQUF3SFFZRFZS
|
30
|
-
ME9CQllFRk1TSk9FdEh6RTRsMGF6dgpNMEpLMGtLTlRvSzFNQXNHQTFVZER3
|
31
|
-
UUVBd0lFc0RBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQXRPZEU3M3F4Ck9I
|
32
|
-
MnlkaTlvVDJoUzVmOUcweTFaNzBUbHdoK1ZHRXh5Znh6VkU5WHdDK2lQcEp4
|
33
|
-
TnJhaUhZZ0YvOS9va3k3WloKUjlxMC90Sm5ldWhBZW5aZGlRa1g3b2k0TzN2
|
34
|
-
OXdSUzZZSG9XQnhNUEZLVlJMTlR6dlZKc2JtZnBDQWxwNS81ZwpwczR3UUZ5
|
35
|
-
NW1pYkVsR1ZsT29iZi9naHFaMjVIUzlKNmtkMC9DL3J5MEFVdFRvZ3NMN1R4
|
36
|
-
R3dUNGtiQ3g2M3ViCjN2eXdFRWhzSlV6ZmQ5N0dDQUJtdFFmUlRsZFgvajdG
|
37
|
-
MXovNXdkOHAraGZkb3gxaWliZHM5WnRmYVpBM0t6S24Ka2NoV045QjZ6Zzly
|
38
|
-
MVhNUThCTTJKejBYb1BhblBlMzU0K2xXd2pwa1JLYkZvdy9aYlFIY0NMQ3Ey
|
39
|
-
NCtONmI2ZwpkZ0tmTkR6d2lEcHFDQT09Ci0tLS0tRU5EIENFUlRJRklDQVRF
|
40
|
-
LS0tLS0K
|
41
|
-
date: 2013-04-11 00:00:00.000000000 Z
|
12
|
+
cert_chain: []
|
13
|
+
date: 2013-07-06 00:00:00.000000000 Z
|
42
14
|
dependencies:
|
43
15
|
- !ruby/object:Gem::Dependency
|
44
16
|
name: test-unit
|
@@ -191,6 +163,7 @@ files:
|
|
191
163
|
- test/configs/multihost
|
192
164
|
- test/configs/nohost
|
193
165
|
- test/configs/numeric_host
|
166
|
+
- test/configs/substitutes
|
194
167
|
- test/configs/wild_cards
|
195
168
|
- test/connection/test_channel.rb
|
196
169
|
- test/connection/test_session.rb
|
data.tar.gz.sig
DELETED
Binary file
|
metadata.gz.sig
DELETED