#!/bin/bash

>/tmp/cmdline


getval () {

    grep "string_${1}" /data/config.lua|sed -e 's/.*= "\(.*\)".*$/\1/' -e 's/\\//g'

}


# Setup SNMP

SNMPLOCATION=$(getval SnmpLocation)
SNMPCONTACT=$(getval SnmpContact)
SNMPROC=$(getval SnmpRoc)
SNMPTRAPSINK=$(getval SnmpTrapsink)

if [ -z "${SNMPROC}" ] ; then
    SNMPROC="public"
fi


if [ -z "${SNMPLOCATION}" ] ; then
    SNMPLOCATION=""
fi

if [ -z "${SNMPCONTACT}" ] ; then
    SNMPCONTACT="omgateadmin"
fi

if [ -z "${SNMPTRAPSINK}" ] ; then
    SNMPTRAPSINK=127.0.0.1
fi

if grep -q "^export SNMPROC=" /tmp/cmdline;then
    sed -i -e "/^export SNMPROC=/cexport SNMPROC=\"${SNMPROC}\"" /tmp/cmdline
else
    echo "export SNMPROC=\"${SNMPROC}\"" >> /tmp/cmdline
fi

#echo "export SNMPRWC=\"${SNMPRWC}\"" >> /tmp/cmdline

if grep -q "^export SNMPLOCATION=" /tmp/cmdline;then
    sed -i -e "export SNMPLOCATION=/cexport SNMPLOCATION=\"${SNMPLOCATION}\"" /tmp/cmdline
else
    echo "export SNMPLOCATION=\"${SNMPLOCATION}\"" >> /tmp/cmdline
fi

if grep -q "^export SNMPCONTACT=" /tmp/cmdline;then
sed -i -e "/^export SNMPCONTACT=/cexport SNMPCONTACT=\"${SNMPCONTACT}\"" /tmp/cmdline
else
echo "export SNMPCONTACT=\"${SNMPCONTACT}\"" >> /tmp/cmdline
fi
if grep -q "^export SNMPTRAPSINK=" /tmp/cmdline;then
sed -i -e "/^export SNMPTRAPSINK=/cexport SNMPTRAPSINK=\"${SNMPTRAPSINK}\"" /tmp/cmdline
else
echo "export SNMPTRAPSINK=\"${SNMPTRAPSINK}\"" >> /tmp/cmdline
fi

mkdir -p /etc/snmp
cat > /etc/snmp/snmpd.conf <<EOF

# Generated by switchsnmp

master agentx
rocommunity ${SNMPROC}
#rwcommunity ${SNMPRWC}
rwcommunity "Seife.ist.selten.schmackhaft"
syslocation "${SNMPLOCATION}"
syscontact ${SNMPCONTACT}
EOF

for i in ${SNMPTRAPSINK};do
echo "trapsink ${i}" >>/etc/snmp/snmpd.conf
echo "trap2sink ${i}" >>/etc/snmp/snmpd.conf
done

/etc/init.d/snmpd restart
exit 0
