aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Tintel <stijn@linux-ipv6.be>2017-06-20 05:44:19 +0200
committerGitHub <noreply@github.com>2017-06-20 05:44:19 +0200
commit29d38eaa76f1e790da0b135e671751d0d8d27d69 (patch)
tree7c74491fd0a405b7b858e6c63e828fb35a5d23c8
parentb970e510e4e52524f5cca90c3ab2f3b6f8c04ddd (diff)
parentbb0dfbe6cc31ea783d72e5a568e0045538b53165 (diff)
Merge pull request #4273 from dedeckeh/pr-netsnmp-trap
net-snmp: add notification config options
-rw-r--r--net/net-snmp/Makefile2
-rw-r--r--net/net-snmp/files/snmpd.conf27
-rw-r--r--net/net-snmp/files/snmpd.init46
3 files changed, 73 insertions, 2 deletions
diff --git a/net/net-snmp/Makefile b/net/net-snmp/Makefile
index d9ffbbd0e..0fb6a8a34 100644
--- a/net/net-snmp/Makefile
+++ b/net/net-snmp/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=net-snmp
PKG_VERSION:=5.7.3
-PKG_RELEASE:=5
+PKG_RELEASE:=6
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/net-snmp
diff --git a/net/net-snmp/files/snmpd.conf b/net/net-snmp/files/snmpd.conf
index c32429400..f3b925937 100644
--- a/net/net-snmp/files/snmpd.conf
+++ b/net/net-snmp/files/snmpd.conf
@@ -88,5 +88,32 @@ config engineid
option engineidtype '3'
option engineidnic 'eth0'
+#config trapcommunity 'trapcommunity'
+# option community 'public'
+
+#config trapsink
+# option host 'nms.system.com'
+# option community 'public'
+# option port '162'
+
+#config trap2sink
+# option host 'nms.system.com'
+# option community 'secret'
+# option port '162'
+
+#config informsink
+# option host 'nms.sytem.com'
+# option community 'public'
+# option port '162'
+
+#config authtrapenable 'authtrapenable'
+# option enable '1'
+
+#config v1trapaddress 'v1trapaddress'
+# option host '1.2.3.4'
+
+#config trapsess 'trapsess'
+# option trapsess '-v 3 -e 0x80001f88808c18d3f7b0000 -u trapuser -a MD5 -A administrator -l authPriv -x DES -X rootpasswd udp:127.0.0.1:162'
+
config snmpd general
# list network 'wan'
diff --git a/net/net-snmp/files/snmpd.init b/net/net-snmp/files/snmpd.init
index 08989744c..0be8511ba 100644
--- a/net/net-snmp/files/snmpd.init
+++ b/net/net-snmp/files/snmpd.init
@@ -210,6 +210,43 @@ snmpd_engineid_add() {
[ -n "$engineidnic" ] && echo "engineIDNic $engineidnic" >> $CONFIGFILE
}
+snmpd_sink_add() {
+ local cfg="$1"
+ local section="$2"
+ local community
+ local port
+ local host
+
+ config_get host "$cfg" host
+ [ -n "section" -a -n "$host" ] || return 0
+ # optional community
+ config_get community "$cfg" community
+ # optional port
+ config_get port "$cfg" port
+ port=${port:+:$port}
+ echo "$section $host$port $community" >> $CONFIGFILE
+}
+
+append_parm() {
+ local section="$1"
+ local option="$2"
+ local switch="$3"
+ local _loctmp
+ config_get _loctmp "$section" "$option"
+ [ -z "$_loctmp" ] && return 0
+ echo "$switch $_loctmp" >> $CONFIGFILE
+}
+
+append_authtrapenable() {
+ local section="$1"
+ local option="$2"
+ local switch="$3"
+ local _loctmp
+ config_get_bool _loctmp "$section" "$option"
+ [ -z "$_loctmp" ] && return 0
+ [ "$_loctmp" -gt 0 ] && echo "$switch $_loctmp" >> $CONFIGFILE
+}
+
snmpd_setup_fw_rules() {
local net="$1"
local zone
@@ -256,7 +293,14 @@ start_service() {
config_foreach snmpd_exec_add exec
config_foreach snmpd_disk_add disk
config_foreach snmpd_engineid_add engineid
-
+ append_parm trapcommunity community trapcommunity
+ config_foreach snmpd_sink_add trapsink trapsink
+ config_foreach snmpd_sink_add trap2sink trap2sink
+ config_foreach snmpd_sink_add informsink informsink
+ append_authtrapenable authtrapenable enable authtrapenable
+ append_parm v1trapaddress host v1trapaddress
+ append_parm trapsess trapsess trapsess
+
procd_set_param command $PROG -Lf /dev/null -f
procd_set_param file $CONFIGFILE
procd_set_param respawn