summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-snmpd
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-snmpd')
-rw-r--r--applications/luci-app-snmpd/Makefile2
-rw-r--r--applications/luci-app-snmpd/htdocs/luci-static/resources/view/snmpd/snmpd.js64
-rw-r--r--applications/luci-app-snmpd/luasrc/model/cbi/snmpd.lua63
-rw-r--r--applications/luci-app-snmpd/root/usr/share/luci/menu.d/luci-app-snmpd.json8
4 files changed, 68 insertions, 69 deletions
diff --git a/applications/luci-app-snmpd/Makefile b/applications/luci-app-snmpd/Makefile
index ffb14cfe25..48be986ae5 100644
--- a/applications/luci-app-snmpd/Makefile
+++ b/applications/luci-app-snmpd/Makefile
@@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
LUCI_TITLE:= Net-SNMP LuCI interface
-LUCI_DEPENDS:=+luci-base +snmpd
+LUCI_DEPENDS:=+luci-compat +luci-base +snmpd
LUCI_PKGARCH:=all
LUCI_DESCRIPTION:=Some common net-snmp config items. In no way is this comprehensive.
diff --git a/applications/luci-app-snmpd/htdocs/luci-static/resources/view/snmpd/snmpd.js b/applications/luci-app-snmpd/htdocs/luci-static/resources/view/snmpd/snmpd.js
deleted file mode 100644
index 59447ee96d..0000000000
--- a/applications/luci-app-snmpd/htdocs/luci-static/resources/view/snmpd/snmpd.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// SPDX: Apache-2.0
-// Karl Palsson <karlp@etactica.com> 2021
-'use strict';
-'require form';
-'require ui';
-'require tools.widgets as widgets';
-
-var desc = _(""
- + "SNMPD is a master daemon/agent for SNMP, from the <a href='http://www.net-snmp.org'>"
- + "net-snmp project</a>. "
- + "Note, OpenWrt has mostly complete UCI support for snmpd, but this LuCI applet "
- + "only covers a few of those options. In particular, there is very little/no validation "
- + "or help. See /etc/config/snmpd for manual configuration."
-);
-
-return L.view.extend({
- render: function() {
- var m, s, o;
-
- m = new form.Map("snmpd", _("net-snmp's SNMPD"), desc);
-
- s = m.section(form.TypedSection, "agent", _("Agent settings"));
- s.anonymous = true;
- o = s.option(form.Value, "agentaddress", _("The address the agent should listen on"),
- _("Eg: UDP:161, or UDP:10.5.4.3:161 to only listen on a given interface"));
-
- s = m.section(form.TypedSection, "agentx", _("AgentX settings"),
- _("Delete this section to disable AgentX"));
- s.anonymous = true;
- o = s.option(form.Value, "agentxsocket", _("The address the agent should allow AgentX connections to"),
- _("This is only necessary if you have subagents using the agentX "
- + "socket protocol. Eg: /var/run/agentx.sock"));
- s.addremove = true;
-
- s = m.section(form.TypedSection, "com2sec", _("com2sec security"));
- o = s.option(form.Value, "secname", "secname");
- o = s.option(form.Value, "source", "source");
- o = s.option(form.Value, "community", "community");
-
- s = m.section(form.TypedSection, "group", "group", _("Groups help define access methods"));
- s.addremove = true;
- s.option(form.Value, "group", "group");
- s.option(form.Value, "version", "version");
- s.option(form.Value, "secname", "secname");
-
- s = m.section(form.TypedSection, "access", "access");
- s.option(form.Value, "group", "group");
- s.option(form.Value, "context", "context");
- s.option(form.Value, "version", "version");
- s.option(form.Value, "level", "level");
- s.option(form.Value, "prefix", "prefix");
- s.option(form.Value, "read", "read");
- s.option(form.Value, "write", "write");
- s.option(form.Value, "notify", "notify");
-
- s = m.section(form.TypedSection, "system", _("System"), _("Values used in the MIB2 System tree"));
- s.anonymous = true;
- s.option(form.Value, "sysLocation", "sysLocation");
- s.option(form.Value, "sysContact", "sysContact");
- s.option(form.Value, "sysName", "sysName");
-
- return m.render();
- }
-}); \ No newline at end of file
diff --git a/applications/luci-app-snmpd/luasrc/model/cbi/snmpd.lua b/applications/luci-app-snmpd/luasrc/model/cbi/snmpd.lua
new file mode 100644
index 0000000000..cc6951e171
--- /dev/null
+++ b/applications/luci-app-snmpd/luasrc/model/cbi/snmpd.lua
@@ -0,0 +1,63 @@
+--[[
+LuCI model for net-snmp configuration management
+Copyright Karl Palsson <karlp@etactica.com>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+]]--
+
+local datatypes = require("luci.cbi.datatypes")
+
+m = Map("snmpd", "net-snmp's SNMPD",
+ [[SNMPD is a master daemon/agent for SNMP, from the <a href='http://www.net-snmp.org'>
+ net-snmp project</a>.
+ Note, OpenWrt has mostly complete UCI support for snmpd, but this LuCI applet
+ only covers a few of those options. In particular, there is very little/no validation
+ or help.
+See /etc/config/snmpd for manual configuration.
+ ]])
+
+s = m:section(TypedSection, "agent", "Agent settings")
+s.anonymous = true
+p = s:option(Value, "agentaddress", "The address the agent should listen on",
+ [[Eg: UDP:161, or UDP:10.5.4.3:161 to only listen on a given interface]])
+
+s = m:section(TypedSection, "agentx", "AgentX settings", "Delete this section to disable agentx")
+s.anonymous = true
+p = s:option(Value, "agentxsocket", "The address the agent should allow agentX connections to",
+ [[This is only necessary if you have subagents using the agentX socket protocol.
+ Eg: /var/run/agentx.sock]])
+s.addremove=true
+
+s = m:section(TypedSection, "com2sec", "com2sec security")
+p = s:option(Value, "secname", "secname")
+p = s:option(Value, "source", "source")
+p = s:option(Value, "community", "community")
+
+s = m:section(TypedSection, "group", "group", "Groups help define access methods")
+s.addremove=true
+s:option(Value, "group", "group")
+s:option(Value, "version", "version")
+s:option(Value, "secname", "secname")
+
+s = m:section(TypedSection, "access", "access")
+s:option(Value, "group", "group")
+s:option(Value, "context", "context")
+s:option(Value, "version", "version")
+s:option(Value, "level", "level")
+s:option(Value, "prefix", "prefix")
+s:option(Value, "read", "read")
+s:option(Value, "write", "write")
+s:option(Value, "notify", "notify")
+
+s = m:section(TypedSection, "system", "System", "Values used in the MIB2 System tree")
+s.anonymous = true
+s:option(Value, "sysLocation", "sysLocation")
+s:option(Value, "sysContact", "sysContact")
+s:option(Value, "sysName", "sysName")
+
+return m
diff --git a/applications/luci-app-snmpd/root/usr/share/luci/menu.d/luci-app-snmpd.json b/applications/luci-app-snmpd/root/usr/share/luci/menu.d/luci-app-snmpd.json
index 85850a218a..c30f35fa42 100644
--- a/applications/luci-app-snmpd/root/usr/share/luci/menu.d/luci-app-snmpd.json
+++ b/applications/luci-app-snmpd/root/usr/share/luci/menu.d/luci-app-snmpd.json
@@ -2,12 +2,12 @@
"admin/services/snmpd": {
"title": "SNMPD",
"action": {
- "type": "view",
- "path": "snmpd/snmpd"
+ "type": "cbi",
+ "path": "snmpd",
+ "post": { "cbi.submit": true }
},
"depends": {
- "acl": [ "luci-app-snmpd" ],
- "uci": { "snmpd": true }
+ "acl": [ "luci-app-snmpd" ]
}
}
}