summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md19
-rw-r--r--Rakefile11
-rw-r--r--lib/oxidized/input/ssh.rb7
-rw-r--r--lib/oxidized/model/ios.rb4
-rw-r--r--lib/oxidized/model/iosxr.rb2
-rw-r--r--lib/oxidized/model/masteros.rb33
-rw-r--r--lib/oxidized/version.rb2
-rw-r--r--oxidized.gemspec2
8 files changed, 50 insertions, 30 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 685d6d0..b59e03d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,22 @@
+# 0.12.2
+- BUGFIX: more MRV model fixes (by @natm)
+
+# 0.12.1
+- BUGFIX: set term to vty100
+- BUGFIX: MRV model fixes (by @natm)
+
+# 0.12.0
+- FEATURE: enhance AOSW (by @mikebryant)
+- FEATURE: F5 TMOS support (by @mikebryant)
+- FEATURE: Opengear support (by @mikebryant)
+- FEATURE: EdgeSwitch support (by @doogieconsulting)
+- BUGFIX: rename input debug log files
+- BUGFIX: powerconnect model fixes (by @Madpilot0)
+- BUGFIX: fortigate model fixes (by @ElvinEfendi)
+- BUGFIX: various (by @mikebryant)
+- BUGFIX: write SSH debug to file without buffering
+- BUGFIX: fix IOS XR prompt handling
+
# 0.11.0
- FEATURE: ssh proxycommand (by @ElvinEfendi)
- FEATURE: basic auth in HTTP source (by @laf)
diff --git a/Rakefile b/Rakefile
index 3a1be5e..11f5c96 100644
--- a/Rakefile
+++ b/Rakefile
@@ -19,13 +19,6 @@ task :test do
end
end
-desc 'Build gem'
-task :build do
- system "gem build #{gemspec.name}.gemspec"
- FileUtils.mkdir_p 'gems'
- FileUtils.mv file, 'gems'
-end
-
desc 'Install gem'
task :install => :build do
system "sudo -Es sh -c \'umask 022; gem install gems/#{file}\'"
@@ -33,7 +26,7 @@ end
desc 'Remove gems'
task :clean do
- FileUtils.rm_rf 'gems'
+ FileUtils.rm_rf 'pkg'
end
desc 'Tag the release'
@@ -43,7 +36,7 @@ end
desc 'Push to rubygems'
task :push => :tag do
- system "gem push gems/#{file}"
+ system "gem push pkg/#{file}"
end
task default: :test
diff --git a/lib/oxidized/input/ssh.rb b/lib/oxidized/input/ssh.rb
index 69b36b0..e7296b5 100644
--- a/lib/oxidized/input/ssh.rb
+++ b/lib/oxidized/input/ssh.rb
@@ -79,11 +79,14 @@ module Oxidized
def shell_open ssh
@ses = ssh.open_channel do |ch|
ch.on_data do |_ch, data|
- @log.print data if Oxidized.config.input.debug?
+ if Oxidized.config.input.debug?
+ @log.print data
+ @log.fsync
+ end
@output << data
@output = @node.model.expects @output
end
- ch.request_pty do |_ch, success_pty|
+ ch.request_pty (opts={:term=>'vt100'}) do |_ch, success_pty|
raise NoShell, "Can't get PTY" unless success_pty
ch.send_channel_request 'shell' do |_ch, success_shell|
raise NoShell, "Can't get shell" unless success_shell
diff --git a/lib/oxidized/model/ios.rb b/lib/oxidized/model/ios.rb
index f31303c..1f099c8 100644
--- a/lib/oxidized/model/ios.rb
+++ b/lib/oxidized/model/ios.rb
@@ -25,6 +25,10 @@ class IOS < Oxidized::Model
cmd :secret do |cfg|
cfg.gsub! /^(snmp-server community).*/, '\\1 <configuration removed>'
cfg.gsub! /username (\S+) privilege (\d+) (\S+).*/, '<secret hidden>'
+ cfg.gsub! /^username \S+ password \d \S+/, '<secret hidden>'
+ cfg.gsub! /^enable password \d \S+/, '<secret hidden>'
+ cfg.gsub! /wpa-psk ascii \d \S+/, '<secret hidden>'
+ cfg.gsub! /^tacacs-server key \d \S+/, '<secret hidden>'
cfg
end
diff --git a/lib/oxidized/model/iosxr.rb b/lib/oxidized/model/iosxr.rb
index 6887217..a622b66 100644
--- a/lib/oxidized/model/iosxr.rb
+++ b/lib/oxidized/model/iosxr.rb
@@ -2,7 +2,7 @@ class IOSXR < Oxidized::Model
# IOS XR model #
- prompt /^([\w.@:\/-]+[#>]\s?)$/
+ prompt /^(\r?[\w.@:\/-]+[#>]\s?)$/
comment '! '
cmd :all do |cfg|
diff --git a/lib/oxidized/model/masteros.rb b/lib/oxidized/model/masteros.rb
index 3f5a2fc..587fdc4 100644
--- a/lib/oxidized/model/masteros.rb
+++ b/lib/oxidized/model/masteros.rb
@@ -2,35 +2,36 @@ class MasterOS < Oxidized::Model
# MRV MasterOS model #
-comment '!'
+comment '!'
cmd :secret do |cfg|
cfg.gsub! /^(snmp-server community).*/, '\\1 <configuration removed>'
cfg.gsub! /username (\S+) password encrypted (\S+) class (\S+).*/, '<secret hidden>'
- cfg
- end
+ cfg
+ end
cmd :all do |cfg|
cfg.each_line.to_a[1..-2].join
- end
+ cfg.gsub /^(! Configuration ).*/, '!'
+ end
cmd 'show inventory' do |cfg|
cfg = cfg.each_line.to_a[0..-2].join
- comment cfg
- end
+ comment cfg
+ end
cmd 'show plugins' do |cfg|
- comment cfg
- end
+ comment cfg
+ end
cmd 'show hw-config' do |cfg|
- comment cfg
- end
+ comment cfg
+ end
cmd 'show running-config' do |cfg|
cfg = cfg.each_line.to_a[3..-1].join
- cfg
- end
+ cfg
+ end
cfg :telnet, :ssh do
post_login 'no pager'
@@ -38,9 +39,9 @@ comment '!'
post_login do
send "enable\n"
send vars(:enable) + "\n"
- end
- end
+ end
+ end
pre_logout 'exit'
- end
+ end
-end \ No newline at end of file
+end
diff --git a/lib/oxidized/version.rb b/lib/oxidized/version.rb
index fc4a9f8..c06a14a 100644
--- a/lib/oxidized/version.rb
+++ b/lib/oxidized/version.rb
@@ -1,3 +1,3 @@
module Oxidized
- VERSION = '0.11.0'
+ VERSION = '0.12.2'
end
diff --git a/oxidized.gemspec b/oxidized.gemspec
index 808d508..efa21db 100644
--- a/oxidized.gemspec
+++ b/oxidized.gemspec
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
s.executables = %w( oxidized )
s.require_path = 'lib'
- s.required_ruby_version = '>= 1.9.3'
+ s.required_ruby_version = '>= 2.0.0'
s.add_runtime_dependency 'asetus', '~> 0.1'
s.add_runtime_dependency 'slop', '~> 3.5'
s.add_runtime_dependency 'net-ssh', '~> 3.0', '>= 3.0.2'