summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpv2b <pvz@pvz.pp.se>2017-11-21 09:03:48 +0100
committerNeil Lathwood <neil@lathwood.co.uk>2017-11-21 08:03:48 +0000
commit99220b9947946d5ad1e53cba6a343e942ce0c498 (patch)
tree03cf3637878b184d7dd50f635c7b46cfbe3cb35f
parent115764f3b2d20b3732a8d81c38afaea19c11dad8 (diff)
model: Added support for Opnsense (#1111)
* Add OPNsense model * Fix class name * Mention support for OPNsense in Supported OS types
-rw-r--r--docs/Supported-OS-Types.md1
-rw-r--r--lib/oxidized/model/opnsense.rb21
2 files changed, 22 insertions, 0 deletions
diff --git a/docs/Supported-OS-Types.md b/docs/Supported-OS-Types.md
index 9176f2e..99566c4 100644
--- a/docs/Supported-OS-Types.md
+++ b/docs/Supported-OS-Types.md
@@ -117,6 +117,7 @@
* [OneOS](/lib/oxidized/model/oneos.rb)
* Opengear
* [Opengear](/lib/oxidized/model/opengear.rb)
+ * [OPNsense](/lib/oxidized/model/opnsense.rb)
* Palo Alto
* [PANOS](/lib/oxidized/model/panos.rb)
* [PLANET SG/SGS Switches](/lib/oxidized/model/planet.rb)
diff --git a/lib/oxidized/model/opnsense.rb b/lib/oxidized/model/opnsense.rb
new file mode 100644
index 0000000..b874fca
--- /dev/null
+++ b/lib/oxidized/model/opnsense.rb
@@ -0,0 +1,21 @@
+class OpnSense < Oxidized::Model
+
+ # minimum required permissions: "System: Shell account access"
+ # must enable SSH and password-based SSH access
+
+ cmd :all do |cfg|
+ cfg.each_line.to_a[1..-1].join
+ end
+
+ cmd 'cat /conf/config.xml' do |cfg|
+ cfg.gsub! /\s<revision>\s*<time>\d*<\/time>\s*.*\s*.*\s*<\/revision>/, ''
+ cfg.gsub! /\s<last_rule_upd_time>\d*<\/last_rule_upd_time>/, ''
+ cfg
+ end
+
+ cfg :ssh do
+ exec true
+ pre_logout 'exit'
+ end
+
+end