net-ssh-telnet 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/{History.txt → History.md} +9 -5
- data/{README.txt → README.md} +7 -7
- data/lib/net/ssh/telnet.rb +24 -20
- data/lib/net/ssh/telnet/version.rb +1 -1
- data/net-ssh-telnet.gemspec +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29d0a1186cd6ea45319c2afbdab046530200851d
|
4
|
+
data.tar.gz: 8e2f7f9c996225aefc02c6bcaf3738c693ebc08f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac0df2b1f5d6a5a7e2b64d5d401300aa97e6c5f6b563487ced4a1fdc2b62d04a725020ecce65c91fbe573ae5bd6a7c88e2dda5a355a54a8d5ebef5d2d6521e25
|
7
|
+
data.tar.gz: f73a34decc609c1c853a36c6ff322e5d3c055ddfb44386fc882bd8689ad0ddbf10323e89d1d68af6ebd8a3e5d85081c5d0a3b26fe2290f15e6557ad7e32a5eba
|
data/{History.txt → History.md}
RENAMED
@@ -1,15 +1,19 @@
|
|
1
|
-
|
1
|
+
### 0.2.1 / 2017-10-08
|
2
|
+
* Add compatibility for net-ssh v4.2 (patch from haccht)
|
3
|
+
* Add PTYOptions option (patch from Ben Miller)
|
4
|
+
|
5
|
+
### 0.2.0 / 2017-01-16
|
2
6
|
* Add option to change prompt after initialization
|
3
7
|
* Cleanup requires for gemspec
|
4
8
|
|
5
|
-
|
9
|
+
### 0.1.1 / 2016-05-06
|
6
10
|
* Apply fix to race condition during initialization from lumean
|
7
11
|
|
8
|
-
|
12
|
+
### 0.1.0 / 2016-02-09
|
9
13
|
* Fixed 'Timeout' and 'Waittime' options
|
10
14
|
* Fork to net-ssh-telnet2
|
11
15
|
|
12
|
-
|
16
|
+
### 0.0.2 / 2009-03-15
|
13
17
|
|
14
18
|
* 4 bugfixes from Brian Candler
|
15
19
|
* Bug in original Net::Telnet EOL translation
|
@@ -19,7 +23,7 @@
|
|
19
23
|
* Handle EOF more gracefully.
|
20
24
|
* Allow FailEOF to propagate through cmd() to waitfor().
|
21
25
|
|
22
|
-
|
26
|
+
### 0.0.1 / 2008-06-06
|
23
27
|
|
24
28
|
* 1 major enhancement
|
25
29
|
* Birthday!
|
data/{README.txt → README.md}
RENAMED
@@ -1,32 +1,32 @@
|
|
1
|
-
|
1
|
+
# net-ssh-telnet
|
2
2
|
|
3
3
|
* https://github.com/duke-automation/net-ssh-telnet
|
4
4
|
* mailto:sean@duke.edu
|
5
5
|
|
6
|
-
|
6
|
+
## DESCRIPTION
|
7
7
|
|
8
8
|
A ruby module to provide a simple send/expect interface over SSH with an API
|
9
9
|
almost identical to Net::Telnet. Ideally it should be a drop in replacement.
|
10
10
|
|
11
11
|
Please see Net::Telnet for main documentation (included with ruby stdlib).
|
12
12
|
|
13
|
-
|
13
|
+
## FEATURES/PROBLEMS
|
14
14
|
|
15
15
|
* FIX (list of features or problems)
|
16
16
|
|
17
|
-
|
17
|
+
## SYNOPSIS
|
18
18
|
|
19
19
|
FIX (code sample of usage)
|
20
20
|
|
21
|
-
|
21
|
+
## REQUIREMENTS
|
22
22
|
|
23
23
|
* net-ssh >= 2.0.1
|
24
24
|
|
25
|
-
|
25
|
+
## INSTALL
|
26
26
|
|
27
27
|
* sudo gem install net-ssh-telnet
|
28
28
|
|
29
|
-
|
29
|
+
## LICENSE
|
30
30
|
|
31
31
|
(The MIT License)
|
32
32
|
|
data/lib/net/ssh/telnet.rb
CHANGED
@@ -144,15 +144,16 @@ module SSH
|
|
144
144
|
# * <tt>"Host"</tt> - a string to define the hostname to connect to(Default: "localhost")
|
145
145
|
# * <tt>"Port"</tt> - port number to connect to(Default: 22)
|
146
146
|
# * <tt>"Prompt"</tt> - a regular expression to define the the prompt to expect(Default: /[$%#>] \z/n )
|
147
|
-
# * <tt>"Timeout"</tt> - the time out value passed on to Net::
|
147
|
+
# * <tt>"Timeout"</tt> - the time out value passed on to Net::SSH - also the default value for #waitfor(Default: 10)
|
148
148
|
# * <tt>"Waittime"</tt> - Max time to wait after a possible prompt it seen to make sure more data isn't coming(Default: 0)
|
149
149
|
# * <tt>"Terminator"</tt> - This value is appended to all strings that are sent to #print.(Default: LF)
|
150
150
|
# * <tt>"Binmode"</tt> - Enable binary mode.(Default: false)
|
151
151
|
# * <tt>"Output_log"</tt> - A file name to open as an output log.
|
152
152
|
# * <tt>"Dump_log"</tt> - A file name to open to dump the entire session to.
|
153
|
-
# * <tt>"Session"</tt> - An existing Net::
|
153
|
+
# * <tt>"Session"</tt> - An existing Net::SSH object for Net::SSH::Telnet to use as its connection(See example 1)
|
154
154
|
# * <tt>"Proxy"</tt> - An open IO object to use as a Proxy(See example 3)
|
155
|
-
# * <tt>"Factory"</tt> - A connection factory to use to establish the connection. Net::
|
155
|
+
# * <tt>"Factory"</tt> - A connection factory to use to establish the connection. Net::SSH::Telnet will call #open(host, post) on this object.(See example 4)
|
156
|
+
# * <tt>"PTYOptions"</tt> - A hash to be passed to Net::SSH::Connection::Channel#request_pty. See Net::SSH::Connection::Channel::VALID_PTY_OPTIONS for valid options.
|
156
157
|
#
|
157
158
|
def initialize(options, &blk) # :yield: mesg
|
158
159
|
@options = options
|
@@ -162,6 +163,7 @@ module SSH
|
|
162
163
|
@options["Timeout"] = 10 unless @options.has_key?("Timeout")
|
163
164
|
@options["Waittime"] = 0 unless @options.has_key?("Waittime")
|
164
165
|
@options["Terminator"] = LF unless @options.has_key?("Terminator")
|
166
|
+
@options["PTYOptions"] = {} unless @options.has_key?("PTYOptions")
|
165
167
|
|
166
168
|
unless @options.has_key?("Binmode")
|
167
169
|
@options["Binmode"] = false
|
@@ -208,14 +210,15 @@ module SSH
|
|
208
210
|
@ssh = @options["Session"]
|
209
211
|
@close_all = false
|
210
212
|
elsif @options.has_key?("Proxy")
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
213
|
+
opts = {
|
214
|
+
:host_name => @options["Host"], # ignored
|
215
|
+
:port => @options["Port"], # ignored
|
216
|
+
:user => @options["Username"],
|
217
|
+
:password => @options["Password"],
|
218
|
+
:timeout => @options["Timeout"],
|
219
|
+
:proxy => TinyFactory.new(@options["Proxy"])
|
220
|
+
}.delete_if { |_,v| v.nil? }
|
221
|
+
@ssh = Net::SSH.start(nil, nil, opts)
|
219
222
|
@close_all = true
|
220
223
|
else
|
221
224
|
message = "Trying " + @options["Host"] + "...\n"
|
@@ -224,14 +227,15 @@ module SSH
|
|
224
227
|
@dumplog.log_dump('#', message) if @options.has_key?("Dump_log")
|
225
228
|
|
226
229
|
begin
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
230
|
+
opts = {
|
231
|
+
:host_name => @options["Host"],
|
232
|
+
:port => @options["Port"],
|
233
|
+
:user => @options["Username"],
|
234
|
+
:password => @options["Password"],
|
235
|
+
:timeout => @options["Timeout"],
|
236
|
+
:proxy => @options["Factory"]
|
237
|
+
}.delete_if { |_,v| v.nil? }
|
238
|
+
@ssh = Net::SSH.start(nil, nil, opts)
|
235
239
|
@close_all = true
|
236
240
|
rescue TimeoutError
|
237
241
|
raise TimeoutError, "timed out while opening a connection to the host"
|
@@ -254,7 +258,7 @@ module SSH
|
|
254
258
|
channel.on_data { |ch,data| @buf << data }
|
255
259
|
channel.on_extended_data { |ch,type,data| @buf << data if type == 1 }
|
256
260
|
channel.on_close { @eof = true }
|
257
|
-
channel.request_pty { |ch,success|
|
261
|
+
channel.request_pty(@options["PTYOptions"]) { |ch,success|
|
258
262
|
if success == false
|
259
263
|
raise "Failed to open ssh pty"
|
260
264
|
end
|
data/net-ssh-telnet.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
|
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
17
17
|
spec.require_paths = ["lib"]
|
18
|
-
spec.extra_rdoc_files = ['README.
|
18
|
+
spec.extra_rdoc_files = ['README.md', 'History.md']
|
19
19
|
|
20
20
|
spec.add_runtime_dependency 'net-ssh', '>= 2.0.1'
|
21
21
|
spec.add_development_dependency 'rake'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-ssh-telnet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Dilda
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-10-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-ssh
|
@@ -46,14 +46,14 @@ email:
|
|
46
46
|
executables: []
|
47
47
|
extensions: []
|
48
48
|
extra_rdoc_files:
|
49
|
-
- README.
|
50
|
-
- History.
|
49
|
+
- README.md
|
50
|
+
- History.md
|
51
51
|
files:
|
52
52
|
- ".gitignore"
|
53
53
|
- ".yardopts"
|
54
54
|
- Gemfile
|
55
|
-
- History.
|
56
|
-
- README.
|
55
|
+
- History.md
|
56
|
+
- README.md
|
57
57
|
- Rakefile
|
58
58
|
- Todo.txt
|
59
59
|
- examples/detailed_debug.rb
|
@@ -84,7 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
84
84
|
version: '0'
|
85
85
|
requirements: []
|
86
86
|
rubyforge_project:
|
87
|
-
rubygems_version: 2.
|
87
|
+
rubygems_version: 2.6.13
|
88
88
|
signing_key:
|
89
89
|
specification_version: 4
|
90
90
|
summary: Provides Net::Telnet API for SSH connections
|