oxidized 0.26.3 → 0.27.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +20 -4
- data/CHANGELOG.md +48 -4
- data/Dockerfile +6 -4
- data/README.md +2 -2
- data/Rakefile +4 -4
- data/bin/oxidized +2 -0
- data/docs/Configuration.md +40 -0
- data/docs/Creating-Models.md +39 -1
- data/docs/Model-Notes/JunOS.md +7 -7
- data/docs/Model-Notes/LinuxGeneric.md +23 -0
- data/docs/Model-Notes/Netgear.md +12 -1
- data/docs/Model-Notes/README.md +2 -0
- data/docs/Model-Notes/ios.md +29 -0
- data/docs/Supported-OS-Types.md +19 -3
- data/docs/Troubleshooting.md +66 -0
- data/extra/nagios_check_failing_nodes.rb +9 -2
- data/extra/oxidized.service +2 -0
- data/extra/syslog.rb +28 -23
- data/lib/oxidized/cli.rb +10 -6
- data/lib/oxidized/config/vars.rb +8 -9
- data/lib/oxidized/hook/githubrepo.rb +1 -1
- data/lib/oxidized/input/exec.rb +28 -0
- data/lib/oxidized/input/telnet.rb +1 -1
- data/lib/oxidized/model/adtran.rb +4 -0
- data/lib/oxidized/model/airfiber.rb +22 -0
- data/lib/oxidized/model/aos.rb +8 -0
- data/lib/oxidized/model/aosw.rb +1 -1
- data/lib/oxidized/model/c4cmts.rb +1 -1
- data/lib/oxidized/model/cambium.rb +1 -0
- data/lib/oxidized/model/ciscosmb.rb +0 -5
- data/lib/oxidized/model/comware.rb +17 -8
- data/lib/oxidized/model/dlink.rb +1 -1
- data/lib/oxidized/model/fastiron.rb +66 -0
- data/lib/oxidized/model/firelinuxos.rb +41 -0
- data/lib/oxidized/model/fortios.rb +5 -0
- data/lib/oxidized/model/hpmsm.rb +84 -0
- data/lib/oxidized/model/icotera.rb +27 -0
- data/lib/oxidized/model/ios.rb +4 -0
- data/lib/oxidized/model/ironware.rb +1 -0
- data/lib/oxidized/model/junos.rb +2 -2
- data/lib/oxidized/model/linuxgeneric.rb +74 -0
- data/lib/oxidized/model/model.rb +23 -13
- data/lib/oxidized/model/netgear.rb +16 -1
- data/lib/oxidized/model/oneos.rb +8 -0
- data/lib/oxidized/model/procurve.rb +8 -6
- data/lib/oxidized/model/purityos.rb +12 -0
- data/lib/oxidized/model/routeros.rb +13 -3
- data/lib/oxidized/model/screenos.rb +2 -3
- data/lib/oxidized/model/sonicos.rb +46 -0
- data/lib/oxidized/model/speedtouch.rb +34 -0
- data/lib/oxidized/model/sros.rb +11 -32
- data/lib/oxidized/model/voss.rb +5 -2
- data/lib/oxidized/model/zynosgs.rb +38 -0
- data/lib/oxidized/node.rb +14 -14
- data/lib/oxidized/version.rb +2 -2
- data/oxidized.gemspec +6 -4
- metadata +52 -17
- data/lib/oxidized/model/netgearxs716.rb +0 -23
data/lib/oxidized/model/oneos.rb
CHANGED
@@ -30,6 +30,14 @@ class OneOS < Oxidized::Model
|
|
30
30
|
comment cfg
|
31
31
|
end
|
32
32
|
|
33
|
+
cmd 'show system hardware' do |cfg|
|
34
|
+
comment cfg
|
35
|
+
end
|
36
|
+
|
37
|
+
cmd 'show product-info-area' do |cfg|
|
38
|
+
comment cfg
|
39
|
+
end
|
40
|
+
|
33
41
|
cmd 'show running-config' do |cfg|
|
34
42
|
cfg = cfg.each_line.to_a[0..-1].join
|
35
43
|
cfg.gsub! /^Building configuration...\s*[^\n]*\n/, ''
|
@@ -1,7 +1,9 @@
|
|
1
1
|
class Procurve < Oxidized::Model
|
2
|
-
# some models start lines with \r
|
3
2
|
# previous command is repeated followed by "\eE", which sometimes ends up on last line
|
4
|
-
prompt
|
3
|
+
# ssh switches prompt may start with \r, followed by the prompt itself, regex ([\w\s.-]+# ), which ends the line
|
4
|
+
# telnet switchs may start with various vt100 control characters, regex (\e\[24;[0-9][hH]), follwed by the prompt, followed
|
5
|
+
# by at least 3 other vt100 characters
|
6
|
+
prompt /(^\r|\e\[24;[0-9][hH])?([\w\s.-]+# )($|(\e\[24;[0-9][0-9]?[hH]){3})/
|
5
7
|
|
6
8
|
comment '! '
|
7
9
|
|
@@ -28,6 +30,10 @@ class Procurve < Oxidized::Model
|
|
28
30
|
cmd :all do |cfg|
|
29
31
|
cfg = cfg.cut_both
|
30
32
|
cfg = cfg.gsub /^\r/, ''
|
33
|
+
# Additional filtering for elder switches sending vt100 control chars via telnet
|
34
|
+
cfg.gsub! /\e\[\??\d+(;\d+)*[A-Za-z]/, ''
|
35
|
+
# Additional filtering for power usage reporting which obviously changes over time
|
36
|
+
cfg.gsub! /^(.*AC [0-9]{3}V\/?([0-9]{3}V)?) *([0-9]{1,3}) (.*)/, '\\1 <removed> \\4'
|
31
37
|
cfg
|
32
38
|
end
|
33
39
|
|
@@ -49,10 +55,6 @@ class Procurve < Oxidized::Model
|
|
49
55
|
comment cfg
|
50
56
|
end
|
51
57
|
|
52
|
-
cmd 'show system power-supply' do |cfg|
|
53
|
-
comment cfg
|
54
|
-
end
|
55
|
-
|
56
58
|
cmd 'show interfaces transceiver' do |cfg|
|
57
59
|
comment cfg
|
58
60
|
end
|
@@ -1,7 +1,17 @@
|
|
1
1
|
class RouterOS < Oxidized::Model
|
2
|
-
prompt /\[\w+@\S+(\s
|
2
|
+
prompt /\[\w+@\S+(\s+\S+)*\]\s?>\s?$/
|
3
3
|
comment "# "
|
4
4
|
|
5
|
+
cmd :all do |cfg|
|
6
|
+
cfg.gsub! /\x1B\[([0-9]{1,3}(;[0-9]{1,3})*)?[m|K]/, '' # strip ANSI colours
|
7
|
+
if screenscrape
|
8
|
+
cfg = cfg.cut_both
|
9
|
+
cfg.gsub! /^\r+(.+)/, '\1'
|
10
|
+
cfg.gsub! /([^\r]*)\r+$/, '\1'
|
11
|
+
end
|
12
|
+
cfg
|
13
|
+
end
|
14
|
+
|
5
15
|
cmd '/system routerboard print' do |cfg|
|
6
16
|
comment cfg
|
7
17
|
end
|
@@ -17,9 +27,9 @@ class RouterOS < Oxidized::Model
|
|
17
27
|
post do
|
18
28
|
run_cmd = vars(:remove_secret) ? '/export hide-sensitive' : '/export'
|
19
29
|
cmd run_cmd do |cfg|
|
20
|
-
cfg.gsub!
|
21
|
-
cfg.gsub! /\\\r\n\s+/, '' # strip new line
|
30
|
+
cfg.gsub! /\\\r?\n\s+/, '' # strip new line
|
22
31
|
cfg.gsub! /# inactive time\r\n/, '' # Remove time based system comment
|
32
|
+
cfg.gsub! /# received packet from \S+ bad format\r\n/, '' # Remove intermittent VRRP/CARP collision comment
|
23
33
|
cfg = cfg.split("\n").reject { |line| line[/^#\s\w{3}\/\d{2}\/\d{4}.*$/] }
|
24
34
|
cfg.join("\n") + "\n"
|
25
35
|
end
|
@@ -6,7 +6,7 @@ class ScreenOS < Oxidized::Model
|
|
6
6
|
prompt /^[\w.:()-]+->\s?$/
|
7
7
|
|
8
8
|
cmd :all do |cfg|
|
9
|
-
cfg.each_line.to_a[
|
9
|
+
cfg.each_line.to_a[1..-2].join
|
10
10
|
end
|
11
11
|
|
12
12
|
cmd :secret do |cfg|
|
@@ -24,8 +24,7 @@ class ScreenOS < Oxidized::Model
|
|
24
24
|
end
|
25
25
|
|
26
26
|
cmd 'get config' do |cfg|
|
27
|
-
cfg
|
28
|
-
cfg
|
27
|
+
cfg.each_line.to_a[1..-1].join
|
29
28
|
end
|
30
29
|
|
31
30
|
cfg :telnet do
|
@@ -0,0 +1,46 @@
|
|
1
|
+
class SonicOS < Oxidized::Model
|
2
|
+
# Applies to Sonicwall NSA series firewalls
|
3
|
+
|
4
|
+
prompt /^\w+@\w+[>]\(?.+\)?\s?/
|
5
|
+
comment '! '
|
6
|
+
|
7
|
+
cmd :all do |cfg|
|
8
|
+
cfg.each_line.to_a[1..-2].join
|
9
|
+
end
|
10
|
+
|
11
|
+
cmd :secret do |cfg|
|
12
|
+
cfg.gsub! /cli ftp password default \d\,(\S+)/, 'cli ftp password default <secret hidden> \2'
|
13
|
+
cfg.gsub! /secret \d\,(\S+)/, 'secret <secret hidden> \2'
|
14
|
+
cfg.gsub! /shared-secret \d\,(\S+)/, 'shared-secret <secret hidden> \2'
|
15
|
+
cfg
|
16
|
+
end
|
17
|
+
|
18
|
+
cmd 'show version' do |cfg|
|
19
|
+
cfg = comment clean cfg
|
20
|
+
cfg << "\n"
|
21
|
+
end
|
22
|
+
|
23
|
+
cmd 'show current-config' do |cfg|
|
24
|
+
cfg.gsub! /^: [^\n]*\n/, ''
|
25
|
+
clean cfg
|
26
|
+
end
|
27
|
+
|
28
|
+
cfg :ssh do
|
29
|
+
post_login 'no cli pager session'
|
30
|
+
pre_logout 'exit'
|
31
|
+
end
|
32
|
+
|
33
|
+
def clean(cfg)
|
34
|
+
out = []
|
35
|
+
cfg.each_line do |line|
|
36
|
+
next if line =~ /system-time \"\d{2}\/\d{2}\/\d{4} \d{2}\:\d{2}:\d{2}.\d+\"/
|
37
|
+
next if line =~ /system-uptime "(\s+up\s+\d+\s+)|(.*Days.*)"/
|
38
|
+
next if line =~ /checksum \d+/
|
39
|
+
|
40
|
+
line = line[1..-1] if line[0] == "\r"
|
41
|
+
out << line.strip
|
42
|
+
end
|
43
|
+
out = out.join "\n"
|
44
|
+
out << "\n"
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
class SpeedTouch < Oxidized::Model
|
2
|
+
prompt /([\w{}=]+[>])$/
|
3
|
+
comment '! '
|
4
|
+
|
5
|
+
expect /login$/ do
|
6
|
+
send "\n"
|
7
|
+
""
|
8
|
+
end
|
9
|
+
|
10
|
+
cmd ':env list' do |cfg|
|
11
|
+
cfg.each_line.select do |line|
|
12
|
+
(not line.match /:env list$/) &&
|
13
|
+
(not line.match /{\w+}=>$/)
|
14
|
+
end.join
|
15
|
+
comment cfg
|
16
|
+
end
|
17
|
+
|
18
|
+
cmd ':config dump' do |cfg|
|
19
|
+
cfg.each_line.select do |line|
|
20
|
+
(not line.match /:config dump$/) &&
|
21
|
+
(not line.match /{\w+}=>$/)
|
22
|
+
end.join
|
23
|
+
cfg
|
24
|
+
end
|
25
|
+
|
26
|
+
cfg :telnet do
|
27
|
+
username /^Username : /
|
28
|
+
password /^Password : /
|
29
|
+
end
|
30
|
+
|
31
|
+
cfg :telnet do
|
32
|
+
pre_logout 'exit'
|
33
|
+
end
|
34
|
+
end
|
data/lib/oxidized/model/sros.rb
CHANGED
@@ -10,6 +10,9 @@ class SROS < Oxidized::Model
|
|
10
10
|
|
11
11
|
cmd :all do |cfg, cmdstring|
|
12
12
|
new_cfg = comment "COMMAND: #{cmdstring}\n"
|
13
|
+
cfg.gsub! /# Finished .*/, ''
|
14
|
+
cfg.gsub! /# Generated .*/, ''
|
15
|
+
cfg.delete! "\r"
|
13
16
|
new_cfg << cfg.cut_both
|
14
17
|
end
|
15
18
|
|
@@ -17,8 +20,6 @@ class SROS < Oxidized::Model
|
|
17
20
|
# Show the boot options file.
|
18
21
|
#
|
19
22
|
cmd 'show bof' do |cfg|
|
20
|
-
cfg.gsub! /# Finished .*/, ''
|
21
|
-
cfg.gsub! /# Generated .*/, ''
|
22
23
|
comment cfg
|
23
24
|
end
|
24
25
|
|
@@ -30,8 +31,6 @@ class SROS < Oxidized::Model
|
|
30
31
|
# Strip uptime.
|
31
32
|
#
|
32
33
|
cfg.sub! /^System Up Time.*\n/, ''
|
33
|
-
cfg.gsub! /# Finished .*/, ''
|
34
|
-
cfg.gsub! /# Generated .*/, ''
|
35
34
|
comment cfg
|
36
35
|
end
|
37
36
|
|
@@ -39,22 +38,21 @@ class SROS < Oxidized::Model
|
|
39
38
|
# Show the card state.
|
40
39
|
#
|
41
40
|
cmd 'show card state' do |cfg|
|
42
|
-
cfg.gsub! /# Finished .*/, ''
|
43
|
-
cfg.gsub! /# Generated .*/, ''
|
44
41
|
comment cfg
|
45
42
|
end
|
46
43
|
|
44
|
+
#
|
45
|
+
# Show the chassis information.
|
46
|
+
#
|
47
|
+
cmd 'show chassis' do |cfg|
|
48
|
+
comment cfg.lines.to_a[0..25].reject { |line| line.match /state|Time|Temperature|Status/ }.join
|
49
|
+
end
|
50
|
+
|
47
51
|
#
|
48
52
|
# Show the boot log.
|
49
53
|
#
|
50
54
|
cmd 'file type bootlog.txt' do |cfg|
|
51
|
-
#
|
52
|
-
# Strip carriage returns and backspaces.
|
53
|
-
#
|
54
|
-
cfg.delete! "\r"
|
55
55
|
cfg.gsub! /[\b][\b][\b]/, "\n"
|
56
|
-
cfg.gsub! /# Finished .*/, ''
|
57
|
-
cfg.gsub! /# Generated .*/, ''
|
58
56
|
comment cfg
|
59
57
|
end
|
60
58
|
|
@@ -62,8 +60,6 @@ class SROS < Oxidized::Model
|
|
62
60
|
# Show the running debug configuration.
|
63
61
|
#
|
64
62
|
cmd 'show debug' do |cfg|
|
65
|
-
cfg.gsub! /# Finished .*/, ''
|
66
|
-
cfg.gsub! /# Generated .*/, ''
|
67
63
|
comment cfg
|
68
64
|
end
|
69
65
|
|
@@ -71,12 +67,6 @@ class SROS < Oxidized::Model
|
|
71
67
|
# Show the saved debug configuration (admin debug-save).
|
72
68
|
#
|
73
69
|
cmd 'file type config.dbg' do |cfg|
|
74
|
-
#
|
75
|
-
# Strip carriage returns.
|
76
|
-
#
|
77
|
-
cfg.delete! "\r"
|
78
|
-
cfg.gsub! /# Finished .*/, ''
|
79
|
-
cfg.gsub! /# Generated .*/, ''
|
80
70
|
comment cfg
|
81
71
|
end
|
82
72
|
|
@@ -84,12 +74,6 @@ class SROS < Oxidized::Model
|
|
84
74
|
# Show the running persistent indices.
|
85
75
|
#
|
86
76
|
cmd 'admin display-config index' do |cfg|
|
87
|
-
#
|
88
|
-
# Strip carriage returns.
|
89
|
-
#
|
90
|
-
cfg.delete! "\r"
|
91
|
-
cfg.gsub! /# Finished .*/, ''
|
92
|
-
cfg.gsub! /# Generated .*/, ''
|
93
77
|
comment cfg
|
94
78
|
end
|
95
79
|
|
@@ -97,12 +81,7 @@ class SROS < Oxidized::Model
|
|
97
81
|
# Show the running configuration.
|
98
82
|
#
|
99
83
|
cmd 'admin display-config' do |cfg|
|
100
|
-
|
101
|
-
# Strip carriage returns.
|
102
|
-
#
|
103
|
-
cfg.delete! "\r"
|
104
|
-
cfg.gsub! /# Finished .*/, ''
|
105
|
-
cfg.gsub! /# Generated .*/, ''
|
84
|
+
cfg
|
106
85
|
end
|
107
86
|
|
108
87
|
cfg :telnet do
|
data/lib/oxidized/model/voss.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
class Voss < Oxidized::Model
|
2
|
-
# Avaya VSP Operating System Software(VOSS)
|
2
|
+
# Extreme/Avaya VSP Operating System Software(VOSS)
|
3
3
|
# Created by danielcoxman@gmail.com
|
4
|
-
#
|
4
|
+
# March 16, 2019
|
5
5
|
# This was tested on vsp4k and vsp8k
|
6
6
|
|
7
7
|
comment '# '
|
@@ -16,6 +16,9 @@ class Voss < Oxidized::Model
|
|
16
16
|
cfg.gsub! /(^((.*)SysUpTime(.*))$)/, 'removed SysUpTime'
|
17
17
|
cfg.gsub! /^((.*)Temperature Info :(.*\r?\n){4})/, 'removed Temperature Info and 3 more lines'
|
18
18
|
cfg.gsub! /(^((.*)AmbientTemperature(.*):(.*))$)/, 'removed AmbientTemperature'
|
19
|
+
cfg.gsub! /(^((.*)Last Change(.*):(.*))$)/, 'remove Last Change'
|
20
|
+
cfg.gsub! /(^((.*)Last Statistic Reset(.*):(.*))$)/, 'removed Last Statistic Reset'
|
21
|
+
cfg.gsub! /(^((.*)Last Vlan Change(.*):(.*))$)/, 'removed Last Vlan Change'
|
19
22
|
cfg.gsub! /(^((.*)Temperature(.*):(.*))$)/, 'removed Temperature'
|
20
23
|
cfg.gsub! /(^((.*)Total Power Usage(.*):(.*))$)/, 'removed Total Power Usage'
|
21
24
|
comment "#{cfg}\n"
|
@@ -0,0 +1,38 @@
|
|
1
|
+
class ZyNOSGS < Oxidized::Model
|
2
|
+
# Used in Zyxel GS1900 switches, tested with GS1900-8
|
3
|
+
prompt /^.*# $/
|
4
|
+
comment '! '
|
5
|
+
expect /^--More--$/ do |data, re|
|
6
|
+
send ' '
|
7
|
+
data.sub re, ''
|
8
|
+
end
|
9
|
+
|
10
|
+
# replace all used vt100 control sequences
|
11
|
+
expect /\e\[\??\d+(;\d+)*[A-Za-z]/ do |data, re|
|
12
|
+
data.gsub re, ''
|
13
|
+
end
|
14
|
+
cmd 'show running-config' do |cfg|
|
15
|
+
cfg.gsub! /(System Up Time:) \S+(.*)/, '\\1 <time>'
|
16
|
+
# Remove garbage vt100 control sequences
|
17
|
+
# Backspace 0x07 char or escape char + control chars
|
18
|
+
cfg.gsub! /[\b]|\e\[A|\e\[2K/, ''
|
19
|
+
cfg
|
20
|
+
end
|
21
|
+
|
22
|
+
cfg :telnet, :ssh do
|
23
|
+
username /^(User name|.*Username):/
|
24
|
+
password /^\r?Password:/
|
25
|
+
end
|
26
|
+
cfg :telnet do
|
27
|
+
pre_logout do
|
28
|
+
send "exit\r"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
cfg :ssh do
|
32
|
+
pre_logout do
|
33
|
+
# Yes, that GS1900 switch needs two exit !
|
34
|
+
send "exit\n"
|
35
|
+
send "exit\n"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
data/lib/oxidized/node.rb
CHANGED
@@ -14,20 +14,20 @@ module Oxidized
|
|
14
14
|
# remove the prefix if an IP Address is provided with one as IPAddr converts it to a network address.
|
15
15
|
ip_addr, = opt[:ip].to_s.split("/")
|
16
16
|
Oxidized.logger.debug 'IPADDR %s' % ip_addr.to_s
|
17
|
-
@name
|
18
|
-
@ip
|
19
|
-
@ip
|
20
|
-
@ip
|
21
|
-
@group
|
22
|
-
@model
|
23
|
-
@input
|
24
|
-
@output
|
25
|
-
@auth
|
26
|
-
@prompt
|
27
|
-
@vars
|
28
|
-
@stats
|
29
|
-
@retry
|
30
|
-
@repo
|
17
|
+
@name = opt[:name]
|
18
|
+
@ip = IPAddr.new(ip_addr).to_s rescue nil
|
19
|
+
@ip ||= Resolv.new.getaddress(@name) if Oxidized.config.resolve_dns?
|
20
|
+
@ip ||= @name
|
21
|
+
@group = opt[:group]
|
22
|
+
@model = resolve_model opt
|
23
|
+
@input = resolve_input opt
|
24
|
+
@output = resolve_output opt
|
25
|
+
@auth = resolve_auth opt
|
26
|
+
@prompt = resolve_prompt opt
|
27
|
+
@vars = opt[:vars]
|
28
|
+
@stats = Stats.new
|
29
|
+
@retry = 0
|
30
|
+
@repo = resolve_repo opt
|
31
31
|
|
32
32
|
# model instance needs to access node instance
|
33
33
|
@model.node = self
|
data/lib/oxidized/version.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module Oxidized
|
2
|
-
VERSION = '0.
|
3
|
-
VERSION_FULL = '0.
|
2
|
+
VERSION = '0.27.0'.freeze
|
3
|
+
VERSION_FULL = '0.27.0'.freeze
|
4
4
|
def self.version_set
|
5
5
|
version_full = %x(git describe --tags).chop rescue ""
|
6
6
|
version = %x(git describe --tags --abbrev=0).chop rescue ""
|
data/oxidized.gemspec
CHANGED
@@ -19,10 +19,12 @@ Gem::Specification.new do |s|
|
|
19
19
|
|
20
20
|
s.required_ruby_version = '>= 2.3'
|
21
21
|
s.add_runtime_dependency 'asetus', '~> 0.1'
|
22
|
+
s.add_runtime_dependency 'bcrypt_pbkdf', '~> 1.0'
|
23
|
+
s.add_runtime_dependency 'ed25519', '~> 1.2'
|
22
24
|
s.add_runtime_dependency 'net-ssh', '~> 5'
|
23
|
-
s.add_runtime_dependency 'net-telnet', '~> 0.
|
24
|
-
s.add_runtime_dependency 'rugged', '~> 0.
|
25
|
-
s.add_runtime_dependency 'slop', '~>
|
25
|
+
s.add_runtime_dependency 'net-telnet', '~> 0.2'
|
26
|
+
s.add_runtime_dependency 'rugged', '~> 0.28'
|
27
|
+
s.add_runtime_dependency 'slop', '~> 4.6'
|
26
28
|
|
27
29
|
s.add_development_dependency 'bundler', '~> 2.0'
|
28
30
|
s.add_development_dependency 'codecov' if ENV['CI'] == 'true'
|
@@ -31,6 +33,6 @@ Gem::Specification.new do |s|
|
|
31
33
|
s.add_development_dependency 'mocha', '~> 1.1'
|
32
34
|
s.add_development_dependency 'pry', '~> 0'
|
33
35
|
s.add_development_dependency 'rake', '~> 10.0'
|
34
|
-
s.add_development_dependency 'rubocop', '~> 0.
|
36
|
+
s.add_development_dependency 'rubocop', '~> 0.74.0'
|
35
37
|
s.add_development_dependency 'simplecov'
|
36
38
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oxidized
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.27.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Saku Ytti
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2019-
|
13
|
+
date: 2019-10-27 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: asetus
|
@@ -26,6 +26,34 @@ dependencies:
|
|
26
26
|
- - "~>"
|
27
27
|
- !ruby/object:Gem::Version
|
28
28
|
version: '0.1'
|
29
|
+
- !ruby/object:Gem::Dependency
|
30
|
+
name: bcrypt_pbkdf
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - "~>"
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '1.0'
|
36
|
+
type: :runtime
|
37
|
+
prerelease: false
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - "~>"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '1.0'
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: ed25519
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '1.2'
|
50
|
+
type: :runtime
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - "~>"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '1.2'
|
29
57
|
- !ruby/object:Gem::Dependency
|
30
58
|
name: net-ssh
|
31
59
|
requirement: !ruby/object:Gem::Requirement
|
@@ -46,48 +74,42 @@ dependencies:
|
|
46
74
|
requirements:
|
47
75
|
- - "~>"
|
48
76
|
- !ruby/object:Gem::Version
|
49
|
-
version: 0.
|
77
|
+
version: '0.2'
|
50
78
|
type: :runtime
|
51
79
|
prerelease: false
|
52
80
|
version_requirements: !ruby/object:Gem::Requirement
|
53
81
|
requirements:
|
54
82
|
- - "~>"
|
55
83
|
- !ruby/object:Gem::Version
|
56
|
-
version: 0.
|
84
|
+
version: '0.2'
|
57
85
|
- !ruby/object:Gem::Dependency
|
58
86
|
name: rugged
|
59
87
|
requirement: !ruby/object:Gem::Requirement
|
60
88
|
requirements:
|
61
89
|
- - "~>"
|
62
90
|
- !ruby/object:Gem::Version
|
63
|
-
version: '0.
|
64
|
-
- - ">="
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: 0.21.4
|
91
|
+
version: '0.28'
|
67
92
|
type: :runtime
|
68
93
|
prerelease: false
|
69
94
|
version_requirements: !ruby/object:Gem::Requirement
|
70
95
|
requirements:
|
71
96
|
- - "~>"
|
72
97
|
- !ruby/object:Gem::Version
|
73
|
-
version: '0.
|
74
|
-
- - ">="
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: 0.21.4
|
98
|
+
version: '0.28'
|
77
99
|
- !ruby/object:Gem::Dependency
|
78
100
|
name: slop
|
79
101
|
requirement: !ruby/object:Gem::Requirement
|
80
102
|
requirements:
|
81
103
|
- - "~>"
|
82
104
|
- !ruby/object:Gem::Version
|
83
|
-
version: '
|
105
|
+
version: '4.6'
|
84
106
|
type: :runtime
|
85
107
|
prerelease: false
|
86
108
|
version_requirements: !ruby/object:Gem::Requirement
|
87
109
|
requirements:
|
88
110
|
- - "~>"
|
89
111
|
- !ruby/object:Gem::Version
|
90
|
-
version: '
|
112
|
+
version: '4.6'
|
91
113
|
- !ruby/object:Gem::Dependency
|
92
114
|
name: bundler
|
93
115
|
requirement: !ruby/object:Gem::Requirement
|
@@ -178,14 +200,14 @@ dependencies:
|
|
178
200
|
requirements:
|
179
201
|
- - "~>"
|
180
202
|
- !ruby/object:Gem::Version
|
181
|
-
version: 0.
|
203
|
+
version: 0.74.0
|
182
204
|
type: :development
|
183
205
|
prerelease: false
|
184
206
|
version_requirements: !ruby/object:Gem::Requirement
|
185
207
|
requirements:
|
186
208
|
- - "~>"
|
187
209
|
- !ruby/object:Gem::Version
|
188
|
-
version: 0.
|
210
|
+
version: 0.74.0
|
189
211
|
- !ruby/object:Gem::Dependency
|
190
212
|
name: simplecov
|
191
213
|
requirement: !ruby/object:Gem::Requirement
|
@@ -235,6 +257,7 @@ files:
|
|
235
257
|
- docs/Model-Notes/Cumulus.md
|
236
258
|
- docs/Model-Notes/EOS.md
|
237
259
|
- docs/Model-Notes/JunOS.md
|
260
|
+
- docs/Model-Notes/LinuxGeneric.md
|
238
261
|
- docs/Model-Notes/Netgear.md
|
239
262
|
- docs/Model-Notes/Nokia.md
|
240
263
|
- docs/Model-Notes/README.md
|
@@ -242,10 +265,12 @@ files:
|
|
242
265
|
- docs/Model-Notes/VRP-Huawei.md
|
243
266
|
- docs/Model-Notes/Viptela.md
|
244
267
|
- docs/Model-Notes/XGS4600-Zyxel.md
|
268
|
+
- docs/Model-Notes/ios.md
|
245
269
|
- docs/Outputs.md
|
246
270
|
- docs/Ruby-API.md
|
247
271
|
- docs/Sources.md
|
248
272
|
- docs/Supported-OS-Types.md
|
273
|
+
- docs/Troubleshooting.md
|
249
274
|
- extra/auto-reload-config.runit
|
250
275
|
- extra/nagios_check_failing_nodes.rb
|
251
276
|
- extra/oxidized-report-git-commits
|
@@ -277,6 +302,7 @@ files:
|
|
277
302
|
- lib/oxidized/hook/slackdiff.rb
|
278
303
|
- lib/oxidized/hook/xmppdiff.rb
|
279
304
|
- lib/oxidized/input/cli.rb
|
305
|
+
- lib/oxidized/input/exec.rb
|
280
306
|
- lib/oxidized/input/ftp.rb
|
281
307
|
- lib/oxidized/input/http.rb
|
282
308
|
- lib/oxidized/input/input.rb
|
@@ -291,6 +317,7 @@ files:
|
|
291
317
|
- lib/oxidized/model/adtran.rb
|
292
318
|
- lib/oxidized/model/aen.rb
|
293
319
|
- lib/oxidized/model/aireos.rb
|
320
|
+
- lib/oxidized/model/airfiber.rb
|
294
321
|
- lib/oxidized/model/airos.rb
|
295
322
|
- lib/oxidized/model/alteonos.rb
|
296
323
|
- lib/oxidized/model/alvarion.rb
|
@@ -335,8 +362,10 @@ files:
|
|
335
362
|
- lib/oxidized/model/enterasys.rb
|
336
363
|
- lib/oxidized/model/eos.rb
|
337
364
|
- lib/oxidized/model/fabricos.rb
|
365
|
+
- lib/oxidized/model/fastiron.rb
|
338
366
|
- lib/oxidized/model/fiberdriver.rb
|
339
367
|
- lib/oxidized/model/firebrick.rb
|
368
|
+
- lib/oxidized/model/firelinuxos.rb
|
340
369
|
- lib/oxidized/model/firewareos.rb
|
341
370
|
- lib/oxidized/model/fortios.rb
|
342
371
|
- lib/oxidized/model/ftos.rb
|
@@ -348,6 +377,8 @@ files:
|
|
348
377
|
- lib/oxidized/model/hirschmann.rb
|
349
378
|
- lib/oxidized/model/hpebladesystem.rb
|
350
379
|
- lib/oxidized/model/hpemsa.rb
|
380
|
+
- lib/oxidized/model/hpmsm.rb
|
381
|
+
- lib/oxidized/model/icotera.rb
|
351
382
|
- lib/oxidized/model/ios.rb
|
352
383
|
- lib/oxidized/model/iosxe.rb
|
353
384
|
- lib/oxidized/model/iosxr.rb
|
@@ -355,13 +386,13 @@ files:
|
|
355
386
|
- lib/oxidized/model/ironware.rb
|
356
387
|
- lib/oxidized/model/isam.rb
|
357
388
|
- lib/oxidized/model/junos.rb
|
389
|
+
- lib/oxidized/model/linuxgeneric.rb
|
358
390
|
- lib/oxidized/model/masteros.rb
|
359
391
|
- lib/oxidized/model/mlnxos.rb
|
360
392
|
- lib/oxidized/model/model.rb
|
361
393
|
- lib/oxidized/model/mtrlrfs.rb
|
362
394
|
- lib/oxidized/model/ndms.rb
|
363
395
|
- lib/oxidized/model/netgear.rb
|
364
|
-
- lib/oxidized/model/netgearxs716.rb
|
365
396
|
- lib/oxidized/model/netonix.rb
|
366
397
|
- lib/oxidized/model/netscaler.rb
|
367
398
|
- lib/oxidized/model/nos.rb
|
@@ -377,6 +408,7 @@ files:
|
|
377
408
|
- lib/oxidized/model/planet.rb
|
378
409
|
- lib/oxidized/model/powerconnect.rb
|
379
410
|
- lib/oxidized/model/procurve.rb
|
411
|
+
- lib/oxidized/model/purityos.rb
|
380
412
|
- lib/oxidized/model/quantaos.rb
|
381
413
|
- lib/oxidized/model/raisecom.rb
|
382
414
|
- lib/oxidized/model/routeros.rb
|
@@ -386,6 +418,8 @@ files:
|
|
386
418
|
- lib/oxidized/model/siklu.rb
|
387
419
|
- lib/oxidized/model/slxos.rb
|
388
420
|
- lib/oxidized/model/smartax.rb
|
421
|
+
- lib/oxidized/model/sonicos.rb
|
422
|
+
- lib/oxidized/model/speedtouch.rb
|
389
423
|
- lib/oxidized/model/sros.rb
|
390
424
|
- lib/oxidized/model/stoneos.rb
|
391
425
|
- lib/oxidized/model/supermicro.rb
|
@@ -405,6 +439,7 @@ files:
|
|
405
439
|
- lib/oxidized/model/zhoneolt.rb
|
406
440
|
- lib/oxidized/model/zynos.rb
|
407
441
|
- lib/oxidized/model/zynoscli.rb
|
442
|
+
- lib/oxidized/model/zynosgs.rb
|
408
443
|
- lib/oxidized/node.rb
|
409
444
|
- lib/oxidized/node/stats.rb
|
410
445
|
- lib/oxidized/nodes.rb
|