summaryrefslogtreecommitdiff
path: root/lib/oxidized
diff options
context:
space:
mode:
Diffstat (limited to 'lib/oxidized')
-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
5 files changed, 28 insertions, 20 deletions
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