diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/oxidized/input/ssh.rb | 7 | ||||
-rw-r--r-- | lib/oxidized/model/ios.rb | 4 | ||||
-rw-r--r-- | lib/oxidized/model/iosxr.rb | 2 | ||||
-rw-r--r-- | lib/oxidized/model/masteros.rb | 33 | ||||
-rw-r--r-- | lib/oxidized/version.rb | 2 |
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 |