net-ssh 3.0.0.rc1 → 3.0.1.rc1
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +2 -2
- data/CHANGES.txt +6 -0
- data/lib/net/ssh.rb +2 -1
- data/lib/net/ssh/connection/session.rb +5 -3
- data/lib/net/ssh/transport/session.rb +2 -0
- data/lib/net/ssh/version.rb +1 -1
- data/net-ssh.gemspec +4 -3
- data/test/configs/proxy_remote_user +2 -0
- data/test/connection/test_session.rb +7 -4
- data/test/start/test_options.rb +7 -0
- data/test/test_config.rb +6 -0
- metadata +3 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d164d026393607b9458300322c53263a7ec5177
|
4
|
+
data.tar.gz: 3e413fdc16491481a5409b5f9d372d40c5092382
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3f502d0b2b3b64c5b99a36ebc05c0b8c4e894264809f10fd60ee46ac30254ef26332fde43ba48975c997f74fb2401f028e301cb9ff6f3fbfe0285a3583d403ca
|
7
|
+
data.tar.gz: 3542a91dfa1c82d56c3f4364582733f3ffe571eb46ef56599b78e677a8fc06e865ab27ca825892b52d8bf39d4f6d53fbc1c8fa2399cd2728da5a4b95506263a3
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
|
2
|
-
�
|
1
|
+
u���8�
|
2
|
+
+d���frN�D�Eb[t�E��z"�F�q/�Vt!y)�e��;/JC�yv�{β�K�2%�i���ᑓ�y�߫2i3[,��wE
|
data/CHANGES.txt
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
=== 3.0.1.rc1
|
2
|
+
|
3
|
+
* Breaking change from 2.* series: exec! without block now returns empty string instread of nil if command has no output [https://github.com/net-ssh/net-ssh/pull/273]
|
4
|
+
* Support remote_user as %r in proxy commands [Dominic Scheirlinck]
|
5
|
+
* Raise Net::SSH::ConnectionTimeout from connection timeout [Carl Hoerberg]
|
6
|
+
|
1
7
|
=== 3.0.0.rc1
|
2
8
|
|
3
9
|
* SemVer: Major version change because of dropping of ruby 1.9
|
data/lib/net/ssh.rb
CHANGED
@@ -62,7 +62,7 @@ module Net
|
|
62
62
|
# Net::SSH.start for a description of each option.
|
63
63
|
VALID_OPTIONS = [
|
64
64
|
:auth_methods, :bind_address, :compression, :compression_level, :config,
|
65
|
-
:encryption, :forward_agent, :hmac, :host_key,
|
65
|
+
:encryption, :forward_agent, :hmac, :host_key, :remote_user,
|
66
66
|
:keepalive, :keepalive_interval, :keepalive_maxcount, :kex, :keys, :key_data,
|
67
67
|
:languages, :logger, :paranoid, :password, :port, :proxy,
|
68
68
|
:rekey_blocks_limit,:rekey_limit, :rekey_packet_limit, :timeout, :verbose,
|
@@ -169,6 +169,7 @@ module Net
|
|
169
169
|
# * :user => the user name to log in as; this overrides the +user+
|
170
170
|
# parameter, and is primarily only useful when provided via an SSH
|
171
171
|
# configuration file.
|
172
|
+
# * :remote_user => used for substitution into the '%r' part of a ProxyCommand
|
172
173
|
# * :user_known_hosts_file => the location of the user known hosts file.
|
173
174
|
# Set to an array to specify multiple user known hosts files.
|
174
175
|
# Defaults to %w(~/.ssh/known_hosts ~/.ssh/known_hosts2).
|
@@ -351,19 +351,21 @@ module Net; module SSH; module Connection
|
|
351
351
|
end
|
352
352
|
|
353
353
|
# Same as #exec, except this will block until the command finishes. Also,
|
354
|
-
# if
|
354
|
+
# if no block is given, this will return all output (stdout and stderr)
|
355
355
|
# as a single string.
|
356
356
|
#
|
357
357
|
# matches = ssh.exec!("grep something /some/files")
|
358
358
|
def exec!(command, &block)
|
359
|
-
block
|
359
|
+
block_or_concat = block || Proc.new do |ch, type, data|
|
360
360
|
ch[:result] ||= ""
|
361
361
|
ch[:result] << data
|
362
362
|
end
|
363
363
|
|
364
|
-
channel = exec(command, &
|
364
|
+
channel = exec(command, &block_or_concat)
|
365
365
|
channel.wait
|
366
366
|
|
367
|
+
channel[:result] ||= "" unless block
|
368
|
+
|
367
369
|
return channel[:result]
|
368
370
|
end
|
369
371
|
|
@@ -85,6 +85,8 @@ module Net; module SSH; module Transport
|
|
85
85
|
|
86
86
|
@algorithms = Algorithms.new(self, options)
|
87
87
|
wait { algorithms.initialized? }
|
88
|
+
rescue Errno::ETIMEDOUT
|
89
|
+
raise Net::SSH::ConnectionTimeout
|
88
90
|
end
|
89
91
|
|
90
92
|
# Returns the host (and possibly IP address) in a format compatible with
|
data/lib/net/ssh/version.rb
CHANGED
data/net-ssh.gemspec
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: net-ssh 3.0.
|
5
|
+
# stub: net-ssh 3.0.1.rc1 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "net-ssh"
|
9
|
-
s.version = "3.0.
|
9
|
+
s.version = "3.0.1.rc1"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["Jamis Buck", "Delano Mandelbaum", "Mikl\u{f3}s Fazekas"]
|
14
14
|
s.cert_chain = ["net-ssh-public_cert.pem"]
|
15
|
-
s.date = "2015-09-
|
15
|
+
s.date = "2015-09-19"
|
16
16
|
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."
|
17
17
|
s.email = "net-ssh@solutious.com"
|
18
18
|
s.extra_rdoc_files = [
|
@@ -134,6 +134,7 @@ Gem::Specification.new do |s|
|
|
134
134
|
"test/configs/negative_match",
|
135
135
|
"test/configs/nohost",
|
136
136
|
"test/configs/numeric_host",
|
137
|
+
"test/configs/proxy_remote_user",
|
137
138
|
"test/configs/send_env",
|
138
139
|
"test/configs/substitutes",
|
139
140
|
"test/configs/wild_cards",
|
@@ -473,6 +473,11 @@ module Connection
|
|
473
473
|
assert_equal "some data", session.exec!("ls")
|
474
474
|
end
|
475
475
|
|
476
|
+
def test_exec_bang_without_block_should_return_empty_string_for_empty_command_output
|
477
|
+
prep_exec('ls', :stdout, '')
|
478
|
+
assert_equal "", session.exec!('ls')
|
479
|
+
end
|
480
|
+
|
476
481
|
private
|
477
482
|
|
478
483
|
def prep_exec(command, *data)
|
@@ -488,10 +493,8 @@ module Connection
|
|
488
493
|
|
489
494
|
t2.return(CHANNEL_SUCCESS, :long, p[:remote_id])
|
490
495
|
|
491
|
-
|
492
|
-
|
493
|
-
datum = data[index+1]
|
494
|
-
|
496
|
+
data.each_slice(2) do |type, datum|
|
497
|
+
next if datum.empty?
|
495
498
|
if type == :stdout
|
496
499
|
t2.return(CHANNEL_DATA, :long, p[:remote_id], :string, datum)
|
497
500
|
else
|
data/test/start/test_options.rb
CHANGED
@@ -45,6 +45,13 @@ module NetSSH
|
|
45
45
|
Net::SSH.start('localhost', 'testuser', options)
|
46
46
|
end
|
47
47
|
end
|
48
|
+
|
49
|
+
def test_start_should_accept_remote_user_option
|
50
|
+
assert_nothing_raised do
|
51
|
+
options = { :remote_user => 'foo' }
|
52
|
+
Net::SSH.start('localhost', 'testuser', options)
|
53
|
+
end
|
54
|
+
end
|
48
55
|
end
|
49
56
|
end
|
50
57
|
|
data/test/test_config.rb
CHANGED
@@ -213,6 +213,12 @@ class TestConfig < Test::Unit::TestCase
|
|
213
213
|
assert_equal [/^GIT_.*$/, /^LANG$/, /^LC_.*$/], net_ssh[:send_env]
|
214
214
|
end
|
215
215
|
|
216
|
+
def test_load_with_remote_user
|
217
|
+
config = Net::SSH::Config.load(config(:proxy_remote_user), "behind-proxy")
|
218
|
+
net_ssh = Net::SSH::Config.translate(config)
|
219
|
+
assert net_ssh[:proxy]
|
220
|
+
end
|
221
|
+
|
216
222
|
private
|
217
223
|
|
218
224
|
def config(name)
|
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: 3.0.
|
4
|
+
version: 3.0.1.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jamis Buck
|
@@ -31,7 +31,7 @@ cert_chain:
|
|
31
31
|
MbvRpzgROzyfw1qYi4dnIyMwTtXFFcZ0a2jpxHPkcTYFK6TzvFgDLAP0Y/u9jqUQ
|
32
32
|
eZ7/3CdSi/isZHEw
|
33
33
|
-----END CERTIFICATE-----
|
34
|
-
date: 2015-09-
|
34
|
+
date: 2015-09-19 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: test-unit
|
@@ -185,6 +185,7 @@ files:
|
|
185
185
|
- test/configs/negative_match
|
186
186
|
- test/configs/nohost
|
187
187
|
- test/configs/numeric_host
|
188
|
+
- test/configs/proxy_remote_user
|
188
189
|
- test/configs/send_env
|
189
190
|
- test/configs/substitutes
|
190
191
|
- test/configs/wild_cards
|
metadata.gz.sig
CHANGED
Binary file
|