diff --git a/net-mgmt/net-snmp/Makefile b/net-mgmt/net-snmp/Makefile --- a/net-mgmt/net-snmp/Makefile +++ b/net-mgmt/net-snmp/Makefile @@ -1,7 +1,7 @@ PORTNAME= snmp PORTVERSION= 5.9.4 PORTEPOCH= 1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= net-mgmt MASTER_SITES= SF/net-${PORTNAME}/net-${PORTNAME}/${PORTVERSION} \ ZI diff --git a/net-mgmt/net-snmp/files/snmpd.in b/net-mgmt/net-snmp/files/snmpd.in --- a/net-mgmt/net-snmp/files/snmpd.in +++ b/net-mgmt/net-snmp/files/snmpd.in @@ -8,6 +8,12 @@ # snmpd_enable="YES" # snmpd_flags="" # snmpd_conffile="" +# +# Add the following line to make snmpd drop privileges after initialization. +# This might invalidate existing SNMPv3 users. +# +# snmpd_sugid="YES" +# . /etc/rc.subr @@ -18,6 +24,7 @@ snmpd_enable=${snmpd_enable:-"NO"} snmpd_flush_cache=${snmpd_flush_cache-"NO"} +snmpd_sugid=${snmpd_sugid:-"NO"} pidfile=${snmpd_pidfile:-"/var/run/net_snmpd.pid"} @@ -57,7 +64,11 @@ if [ -n "${snmpd_conffile_set}" ]; then rc_flags="-c ${snmpd_conffile_set#,} ${rc_flags}" fi - rc_flags="-u snmpd -g snmpd -p ${pidfile} ${rc_flags}" + if checkyesno snmpd_sugid; then + rc_flags="-u snmpd -g snmpd ${rc_flags}" + fi + + rc_flags="-p ${pidfile} ${rc_flags}" } run_rc_command "$1"