net-ssh-telnet 0.0.2 → 0.2.0
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 +7 -0
- data/.gitignore +8 -0
- data/.yardopts +1 -0
- data/Gemfile +4 -0
- data/History.txt +13 -2
- data/README.txt +4 -3
- data/Rakefile +1 -14
- data/lib/net/ssh/telnet.rb +91 -26
- data/lib/net/ssh/telnet/version.rb +7 -0
- data/net-ssh-telnet.gemspec +22 -0
- metadata +62 -79
- data.tar.gz.sig +0 -1
- data/Manifest.txt +0 -11
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 00bb9ece1f4ba5a748bc3c1c7f6a65f386c76543
|
4
|
+
data.tar.gz: 9af12f0b2318c4e1123ead13004f7223974bb9ce
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 1d6d0b0c1a9b38d5f96f0f89d4b556c69621a768629625dc3e70c7709a75819fdd480b218a9db10c2a3f53cac5a33152e4d002494a996431aec0a45edd707baf
|
7
|
+
data.tar.gz: e148e3bae70620f0413b1cab661a1b35473c8bed1e596ae5f32b92bac142bc30b8735477f49f7dbd1ccc6117e22c30433e76e1f549100f79ac7e4b7a669c6b76
|
data/.gitignore
ADDED
data/.yardopts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
- History.txt
|
data/Gemfile
ADDED
data/History.txt
CHANGED
@@ -1,8 +1,19 @@
|
|
1
|
+
=== 0.2.0 / 2017-01-16
|
2
|
+
* Add option to change prompt after initialization
|
3
|
+
* Cleanup requires for gemspec
|
4
|
+
|
5
|
+
=== 0.1.1 / 2016-05-06
|
6
|
+
* Apply fix to race condition during initialization from lumean
|
7
|
+
|
8
|
+
=== 0.1.0 / 2016-02-09
|
9
|
+
* Fixed 'Timeout' and 'Waittime' options
|
10
|
+
* Fork to net-ssh-telnet2
|
11
|
+
|
1
12
|
=== 0.0.2 / 2009-03-15
|
2
13
|
|
3
14
|
* 4 bugfixes from Brian Candler
|
4
|
-
* Bug in original Net::Telnet EOL translation
|
5
|
-
(http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/16599)
|
15
|
+
* Bug in original Net::Telnet EOL translation
|
16
|
+
(http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/16599)
|
6
17
|
duplicate the fix.
|
7
18
|
* Remove rubygems require.
|
8
19
|
* Handle EOF more gracefully.
|
data/README.txt
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
= net-ssh-telnet
|
2
2
|
|
3
|
-
*
|
4
|
-
* mailto:
|
3
|
+
* https://github.com/duke-automation/net-ssh-telnet
|
4
|
+
* mailto:sean@duke.edu
|
5
5
|
|
6
6
|
== DESCRIPTION:
|
7
7
|
|
@@ -20,7 +20,7 @@ Please see Net::Telnet for main documentation (included with ruby stdlib).
|
|
20
20
|
|
21
21
|
== REQUIREMENTS:
|
22
22
|
|
23
|
-
* net-ssh >= 2.0.1
|
23
|
+
* net-ssh >= 2.0.1
|
24
24
|
|
25
25
|
== INSTALL:
|
26
26
|
|
@@ -33,6 +33,7 @@ Please see Net::Telnet for main documentation (included with ruby stdlib).
|
|
33
33
|
Based on code in net/telnet.rb by Wakou Aoyama <wakou@ruby-lang.org>
|
34
34
|
Modified to work with Net::SSH by Brian Candler <b.candler@pobox.com>
|
35
35
|
Additional Net::SSH v2 modifications by Matthew Kent <matt@bravenet.com>
|
36
|
+
Additional Net::SSH v2 modifications by Sean Dilda <sean@duke.edu>
|
36
37
|
|
37
38
|
Permission is hereby granted, free of charge, to any person obtaining
|
38
39
|
a copy of this software and associated documentation files (the
|
data/Rakefile
CHANGED
@@ -1,14 +1 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'hoe'
|
5
|
-
$:.unshift(File.dirname(__FILE__) + "/lib")
|
6
|
-
require 'net/ssh/telnet'
|
7
|
-
|
8
|
-
Hoe.new('net-ssh-telnet', Net::SSH::Telnet::VERSION) do |p|
|
9
|
-
p.developer('Matthew Kent', 'matt@bravenet.com')
|
10
|
-
p.extra_deps << ['net-ssh', '>= 2.0.1']
|
11
|
-
p.remote_rdoc_dir = ''
|
12
|
-
end
|
13
|
-
|
14
|
-
# vim: syntax=Ruby
|
1
|
+
require "bundler/gem_tasks"
|
data/lib/net/ssh/telnet.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'net/ssh'
|
2
|
-
|
2
|
+
|
3
3
|
module Net
|
4
4
|
module SSH
|
5
5
|
|
@@ -8,13 +8,12 @@ module SSH
|
|
8
8
|
# Provides a simple send/expect interface with an API almost
|
9
9
|
# identical to Net::Telnet. Please see Net::Telnet for main documentation.
|
10
10
|
# Only the differences are documented here.
|
11
|
-
|
11
|
+
|
12
12
|
class Telnet
|
13
13
|
|
14
14
|
CR = "\015"
|
15
15
|
LF = "\012"
|
16
16
|
EOL = CR + LF
|
17
|
-
VERSION = '0.0.2'
|
18
17
|
|
19
18
|
# Wrapper to emulate the behaviour of Net::Telnet "Proxy" option, where
|
20
19
|
# the user passes in an already-open socket
|
@@ -37,10 +36,10 @@ module SSH
|
|
37
36
|
# as shown below.
|
38
37
|
#
|
39
38
|
# Note that unlike Net::Telnet there is no preprocess method automatically
|
40
|
-
# setting up options related to proper character translations, so if your
|
41
|
-
# remote ptty is configured differently than the typical linux one you may
|
42
|
-
# need to pass in a different terminator or call 'stty' remotely to set it
|
43
|
-
# into an expected mode. This is better explained by the author of perl's
|
39
|
+
# setting up options related to proper character translations, so if your
|
40
|
+
# remote ptty is configured differently than the typical linux one you may
|
41
|
+
# need to pass in a different terminator or call 'stty' remotely to set it
|
42
|
+
# into an expected mode. This is better explained by the author of perl's
|
44
43
|
# Net::SSH::Expect here:
|
45
44
|
#
|
46
45
|
# http://search.cpan.org/~bnegrao/Net-SSH-Expect-1.04/lib/Net/SSH/Expect.pod
|
@@ -135,7 +134,26 @@ module SSH
|
|
135
134
|
# )
|
136
135
|
# puts "Logged in"
|
137
136
|
# puts s.cmd("show alerts")
|
138
|
-
|
137
|
+
#
|
138
|
+
# New objects take a +option+ hash to set default settings. The keys for this options hash
|
139
|
+
# are all strings. A block can also be passed to constructor which will get executed after
|
140
|
+
# the first prompt is found.
|
141
|
+
#
|
142
|
+
# ==== Hash Parameters
|
143
|
+
#
|
144
|
+
# * <tt>"Host"</tt> - a string to define the hostname to connect to(Default: "localhost")
|
145
|
+
# * <tt>"Port"</tt> - port number to connect to(Default: 22)
|
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::Ssh - also the default value for #waitfor(Default: 10)
|
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
|
+
# * <tt>"Terminator"</tt> - This value is appended to all strings that are sent to #print.(Default: LF)
|
150
|
+
# * <tt>"Binmode"</tt> - Enable binary mode.(Default: false)
|
151
|
+
# * <tt>"Output_log"</tt> - A file name to open as an output log.
|
152
|
+
# * <tt>"Dump_log"</tt> - A file name to open to dump the entire session to.
|
153
|
+
# * <tt>"Session"</tt> - An existing Net::Ssh object for Net::Ssh::Telnet to use as its connection(See example 1)
|
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::Ssh::Telnet will call #open(host, post) on this object.(See example 4)
|
156
|
+
#
|
139
157
|
def initialize(options, &blk) # :yield: mesg
|
140
158
|
@options = options
|
141
159
|
@options["Host"] = "localhost" unless @options.has_key?("Host")
|
@@ -233,6 +251,9 @@ module SSH
|
|
233
251
|
@eof = false
|
234
252
|
@channel = nil
|
235
253
|
@ssh.open_channel do |channel|
|
254
|
+
channel.on_data { |ch,data| @buf << data }
|
255
|
+
channel.on_extended_data { |ch,type,data| @buf << data if type == 1 }
|
256
|
+
channel.on_close { @eof = true }
|
236
257
|
channel.request_pty { |ch,success|
|
237
258
|
if success == false
|
238
259
|
raise "Failed to open ssh pty"
|
@@ -247,22 +268,18 @@ module SSH
|
|
247
268
|
raise "Failed to open ssh shell"
|
248
269
|
end
|
249
270
|
}
|
250
|
-
channel.on_data { |ch,data| @buf << data }
|
251
|
-
channel.on_extended_data { |ch,type,data| @buf << data if type == 1 }
|
252
|
-
channel.on_close { @eof = true }
|
253
271
|
end
|
254
272
|
@ssh.loop
|
255
273
|
end # initialize
|
256
274
|
|
257
275
|
# Close the ssh channel, and also the entire ssh session if we
|
258
276
|
# opened it.
|
259
|
-
|
260
277
|
def close
|
261
278
|
@channel.close if @channel
|
262
279
|
@channel = nil
|
263
280
|
@ssh.close if @close_all and @ssh
|
264
281
|
end
|
265
|
-
|
282
|
+
|
266
283
|
# The ssh session and channel we are using.
|
267
284
|
attr_reader :ssh, :channel
|
268
285
|
|
@@ -289,7 +306,20 @@ module SSH
|
|
289
306
|
end
|
290
307
|
|
291
308
|
# Read data from the host until a certain sequence is matched.
|
292
|
-
|
309
|
+
#
|
310
|
+
# The +options+ parameter takes an string keyed option Hash or a String.
|
311
|
+
#
|
312
|
+
# A block can be provided to be called after the first prompt or match is found.
|
313
|
+
#
|
314
|
+
# ==== Hash Parameters
|
315
|
+
#
|
316
|
+
# * <tt>"Match"</tt> - Regular expression to match
|
317
|
+
# * <tt>"Prompt"</tt> - Regular expression to match (Same as "Match")
|
318
|
+
# * <tt>"String"</tt> - String to match
|
319
|
+
# * <tt>"Timeout"</tt> - Max time in seconds that can pass between packets (Default: 10 - set to false for no timeout)
|
320
|
+
# * <tt>"Waittime"</tt> - Max time to wait after a possible prompt it seen to make sure more data isn't coming(Default: 0)
|
321
|
+
# * <tt>"FailEOF"</tt> - Raise EOFError if EOF is reached on the connection.(Default: false)
|
322
|
+
#
|
293
323
|
def waitfor(options) # :yield: recvdata
|
294
324
|
time_out = @options["Timeout"]
|
295
325
|
waittime = @options["Waittime"]
|
@@ -319,15 +349,16 @@ module SSH
|
|
319
349
|
rest = ''
|
320
350
|
sock = @ssh.transport.socket
|
321
351
|
|
322
|
-
until
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
352
|
+
until @ssh.transport.socket.available == 0 && @buf == "" && prompt === line && (@eof || (!sock.closed? && !IO::select([sock], nil, nil, waittime)))
|
353
|
+
# @buf may have content if it was processed by Net::SSH before #waitfor
|
354
|
+
# was called
|
355
|
+
# The prompt is checked in case a waittime was specified, we've already
|
356
|
+
# seen the prompt, but a protocol-level packet came through during the
|
357
|
+
# above IO::select, causing us to reprocess
|
358
|
+
if @buf == '' && (@ssh.transport.socket.available == 0) && !(prompt === line) && !IO::select([sock], nil, nil, time_out)
|
359
|
+
raise Net::ReadTimeout, "timed out while waiting for more data"
|
330
360
|
end
|
361
|
+
_process_ssh
|
331
362
|
if @buf != ""
|
332
363
|
c = @buf; @buf = ""
|
333
364
|
@dumplog.log_dump('<', c) if @options.has_key?("Dump_log")
|
@@ -362,10 +393,13 @@ module SSH
|
|
362
393
|
# dumplog, if the Dump_log option is set.
|
363
394
|
def write(string)
|
364
395
|
@dumplog.log_dump('>', string) if @options.has_key?("Dump_log")
|
396
|
+
# Add string to Net:SSH output queue
|
365
397
|
@channel.send_data string
|
398
|
+
# Call single instance of Net::SSH loop to process output queue
|
399
|
+
_process_ssh
|
366
400
|
end
|
367
401
|
|
368
|
-
# Sends
|
402
|
+
# Sends +string+ to the host.
|
369
403
|
#
|
370
404
|
# This does _not_ automatically append a newline to the string. Embedded
|
371
405
|
# newlines may be converted depending upon the values of binmode or
|
@@ -380,21 +414,40 @@ module SSH
|
|
380
414
|
end
|
381
415
|
end
|
382
416
|
|
383
|
-
#
|
417
|
+
# Change the standard prompt
|
418
|
+
# This is useful if you need a special prompt value for initializing the
|
419
|
+
# session, but want to use a different prompt for the rest of the session
|
420
|
+
def prompt= val
|
421
|
+
@options["Prompt"] = val
|
422
|
+
end
|
423
|
+
|
424
|
+
# Sends +string+ to the host.
|
384
425
|
#
|
385
426
|
# Same as #print(), but appends a newline to the string.
|
386
427
|
def puts(string)
|
387
428
|
self.print(string + "\n")
|
388
429
|
end
|
389
430
|
|
390
|
-
#
|
431
|
+
# Sends a command to the host.
|
391
432
|
#
|
392
433
|
# More exactly, sends a string to the host, and reads in all received
|
393
434
|
# data until is sees the prompt or other matched sequence.
|
394
435
|
#
|
395
436
|
# The command or other string will have the newline sequence appended
|
396
437
|
# to it.
|
397
|
-
|
438
|
+
#
|
439
|
+
# The +options+ parameter takes a String or Hash. The Hash can be used to override the
|
440
|
+
# default settings that were established when the object was created.
|
441
|
+
#
|
442
|
+
# A block can be provided to be called when the first prompt or "Match" is found.
|
443
|
+
#
|
444
|
+
# ==== Hash Parameters
|
445
|
+
#
|
446
|
+
# * <tt>"String"</tt> - This string is sent over the connection via the #puts method.
|
447
|
+
# * <tt>"Match"</tt> - Passed to #waitfor as the "Prompt" parameter. See its defintion for details.
|
448
|
+
# * <tt>"Timeout"</tt> - Passed to #waitfor see its definition for details
|
449
|
+
# * <tt>"FailEOF"</tt> - Passed to #waitfor see its definition for details
|
450
|
+
#
|
398
451
|
def cmd(options) # :yield: recvdata
|
399
452
|
match = @options["Prompt"]
|
400
453
|
time_out = @options["Timeout"]
|
@@ -417,6 +470,18 @@ module SSH
|
|
417
470
|
end
|
418
471
|
end
|
419
472
|
|
473
|
+
private
|
474
|
+
|
475
|
+
def _process_ssh
|
476
|
+
begin
|
477
|
+
@channel.connection.process(0)
|
478
|
+
rescue IOError
|
479
|
+
@eof = true
|
480
|
+
end
|
481
|
+
end
|
482
|
+
|
420
483
|
end # class Telnet
|
421
484
|
end # module SSH
|
422
485
|
end # module Net
|
486
|
+
|
487
|
+
require 'net/ssh/telnet/version'
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'net/ssh/telnet/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "net-ssh-telnet"
|
8
|
+
spec.version = Net::SSH::Telnet::VERSION
|
9
|
+
spec.authors = ["Sean Dilda"]
|
10
|
+
spec.email = ["sean@duke.edu"]
|
11
|
+
spec.description = %q{A ruby module to provide a simple send/expect interface over SSH with an API almost identical to Net::Telnet. Ideally it should be a drop in replacement. Please see Net::Telnet for main documentation (included with ruby stdlib).}
|
12
|
+
spec.summary = %q{Provides Net::Telnet API for SSH connections}
|
13
|
+
spec.homepage = "https://github.com/duke-automation/net-ssh-telnet"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.require_paths = ["lib"]
|
18
|
+
spec.extra_rdoc_files = ['README.txt', 'History.txt']
|
19
|
+
|
20
|
+
spec.add_runtime_dependency 'net-ssh', '>= 2.0.1'
|
21
|
+
spec.add_development_dependency 'rake'
|
22
|
+
end
|
metadata
CHANGED
@@ -1,73 +1,58 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-ssh-telnet
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
7
|
-
-
|
6
|
+
authors:
|
7
|
+
- Sean Dilda
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
-
|
12
|
-
|
13
|
-
|
14
|
-
dDEYMBYGCgmSJomT8ixkARkWCG1hZ29henVsMRMwEQYKCZImiZPyLGQBGRYDY29t
|
15
|
-
MB4XDTA4MDcyODA0NTIzMVoXDTA5MDcyODA0NTIzMVowPzEOMAwGA1UEAwwFbWtl
|
16
|
-
bnQxGDAWBgoJkiaJk/IsZAEZFghtYWdvYXp1bDETMBEGCgmSJomT8ixkARkWA2Nv
|
17
|
-
bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK9kASXLzL37znIcJoWH
|
18
|
-
lE6LYK9Drf9/tTP0aMJBRwzFAL6NP4KCDTSbzRcurb2gqJI5Hz7wJBm7QQaw7jnx
|
19
|
-
F+wUWEUnXF9v8BIpruFpIM+VHIMaj4h5ifSOh7lOARCn0tBHYYadxlyHhj+cROCf
|
20
|
-
h8SPXUQ7Otsba/8tIjYZTh+tiru7hZApAXZRZOiGPjARwuqvcWYYstbxWOyG5hAB
|
21
|
-
QHdhJD1nv03uHuCR0S/FpLmDM+REEh2PAXbvJIMkBJJ+2KP+7oWwU95/pclnEXE/
|
22
|
-
e0qKZkVsaszihkvh1loxlKhU/sV0Sjo+LJ/fM7SR1a9WzSw1c1C/5Twjmq6jnaLG
|
23
|
-
ZGECAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFGhf
|
24
|
-
2WxIO89iFR2KfqyyXeWlUsBMMA0GCSqGSIb3DQEBBQUAA4IBAQAyvET0KFjr4Ars
|
25
|
-
HvOFhZOer5jWTfGDUcKB8oOfLhbs7PANVNv0BARxgH0Dj95kTcIfSvQLWfv5OmqC
|
26
|
-
AT3P6hPV6WbRCJOGPy0jeZcKWgPepl8vqnBciqzB8beBXmYmEe097MNvnlZptqU5
|
27
|
-
If5GWrjlRoeYpRDNpMpaN4UFxsb/I4MGYvbnrEVc6Ev1ztgK5Kci8oYcINjUhCls
|
28
|
-
EOmi6kiwQNdHUW0XLqwGanEip196lyE5IHRylQ5UiwYI0T4hDSc9f0SE+dzENdFw
|
29
|
-
doMOs6odERAAmX+M7PQ4i3Zvs+Jv9SazZBcl8+sohZL3I5A1fkNQXts1hV6TObce
|
30
|
-
T6VhSPds
|
31
|
-
-----END CERTIFICATE-----
|
32
|
-
|
33
|
-
date: 2009-03-15 00:00:00 -07:00
|
34
|
-
default_executable:
|
35
|
-
dependencies:
|
36
|
-
- !ruby/object:Gem::Dependency
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-04-20 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
37
14
|
name: net-ssh
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.0.1
|
38
20
|
type: :runtime
|
39
|
-
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
requirements:
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
42
24
|
- - ">="
|
43
|
-
- !ruby/object:Gem::Version
|
25
|
+
- !ruby/object:Gem::Version
|
44
26
|
version: 2.0.1
|
45
|
-
|
46
|
-
|
47
|
-
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
48
34
|
type: :development
|
49
|
-
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
52
38
|
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version:
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
description: A ruby module to provide a simple send/expect interface over SSH with
|
42
|
+
an API almost identical to Net::Telnet. Ideally it should be a drop in replacement.
|
43
|
+
Please see Net::Telnet for main documentation (included with ruby stdlib).
|
44
|
+
email:
|
45
|
+
- sean@duke.edu
|
59
46
|
executables: []
|
60
|
-
|
61
47
|
extensions: []
|
62
|
-
|
63
|
-
extra_rdoc_files:
|
64
|
-
- History.txt
|
65
|
-
- Manifest.txt
|
48
|
+
extra_rdoc_files:
|
66
49
|
- README.txt
|
67
|
-
- Todo.txt
|
68
|
-
files:
|
69
50
|
- History.txt
|
70
|
-
|
51
|
+
files:
|
52
|
+
- ".gitignore"
|
53
|
+
- ".yardopts"
|
54
|
+
- Gemfile
|
55
|
+
- History.txt
|
71
56
|
- README.txt
|
72
57
|
- Rakefile
|
73
58
|
- Todo.txt
|
@@ -76,33 +61,31 @@ files:
|
|
76
61
|
- examples/get_hostname.rb
|
77
62
|
- examples/non_standard_shell.rb
|
78
63
|
- lib/net/ssh/telnet.rb
|
64
|
+
- lib/net/ssh/telnet/version.rb
|
65
|
+
- net-ssh-telnet.gemspec
|
79
66
|
- test/test_net-ssh-telnet.rb
|
80
|
-
|
81
|
-
|
67
|
+
homepage: https://github.com/duke-automation/net-ssh-telnet
|
68
|
+
licenses:
|
69
|
+
- MIT
|
70
|
+
metadata: {}
|
82
71
|
post_install_message:
|
83
|
-
rdoc_options:
|
84
|
-
|
85
|
-
- README.txt
|
86
|
-
require_paths:
|
72
|
+
rdoc_options: []
|
73
|
+
require_paths:
|
87
74
|
- lib
|
88
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
89
|
-
requirements:
|
75
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
90
77
|
- - ">="
|
91
|
-
- !ruby/object:Gem::Version
|
92
|
-
version:
|
93
|
-
|
94
|
-
|
95
|
-
requirements:
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0'
|
80
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
96
82
|
- - ">="
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
version:
|
99
|
-
version:
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '0'
|
100
85
|
requirements: []
|
101
|
-
|
102
|
-
|
103
|
-
rubygems_version: 1.2.0
|
86
|
+
rubyforge_project:
|
87
|
+
rubygems_version: 2.5.1
|
104
88
|
signing_key:
|
105
|
-
specification_version:
|
106
|
-
summary:
|
107
|
-
test_files:
|
108
|
-
- test/test_net-ssh-telnet.rb
|
89
|
+
specification_version: 4
|
90
|
+
summary: Provides Net::Telnet API for SSH connections
|
91
|
+
test_files: []
|
data.tar.gz.sig
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
"�4��JWy�,���]�<^����F~'�OI�\#_�'��ս��Y&M�L�)���Cޟ{����%��*�~�=��z8��g�K��G*�4�cM����(�Й���x|��8���&�Dÿ��?��ɗf�P�kyGX�! ��,�$oۚ�#�ݯ���w�|�
|
data/Manifest.txt
DELETED
metadata.gz.sig
DELETED
Binary file
|