#!/bin/sh

. ../support/simple_eval_tools.sh

HEADER authentication failure is send as v3 trap with configured engineID and must be available under context snmptrapd

SKIPIF NETSNMP_DISABLE_SNMPV3

#
# Begin test
#

# standard V1 configuration: testcommunity
. ./Sv1config
# add in a v3 trap sink
CONFIGAGENT engineID 0x7f000001
#result: CONFIGAGENT oldEngineID 0x80001f880430783766303030303031
#IPADDR CONFIGAGENT engineIDType 2  # use ipaddr!
# CONFIGAGENT engineIDNic 1   # 
CONFIGAGENT trapsess -v 3 -u trapuser -l noAuthNoPriv $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPTRAPD_PORT
CONFIGAGENT authtrapenable 1
#FIXME added but not used! ck
# CONFIGAGENT createUser unsec MD5 "--none--" DES "--none--"
# CONFIGAGENT rwuser unsec noAuthNoPriv -V all \'*\'
CONFIGAGENT master agentx
CONFIGAGENT agentxsocket tcp:127.0.0.1:7050
CONFIGAGENT authcommunity read,write  snmptrapd default -V all snmptrapd

CONFIGTRAPD authcommunity log public
CONFIGTRAPD authUser log trapuser noAuthNoPriv -V _all_ \'*\'
#XXX CONFIGTRAPD disableAuthorization yes
CONFIGTRAPD agentxsocket tcp:127.0.0.1:7050
CONFIGTRAPD createUser -e 0x80001f880430783766303030303031 trapuser MD5 "--none--" DES "--none--"


STARTAGENT

#XXX start agentx slave after agentx master to speedup the test
STARTTRAPD
# wait for agentx connection!
SNMP_SLEEP=3
WAITFORTRAPD "AgentX subagent connected"

# give the agent more time to start up.  We only want to fire one
# request (retries = 0) to make sure only one trap is sent.
CAPTURE "snmpget -On -r 0 -t 5 $SNMP_FLAGS -v 2c -c wrongcommunity $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT .1.3.6.1.2.1.1.3.0"

CAPTURE "snmpwalk -r 0 -t 5 -v 2c -c snmptrapd $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT NOTIFICATION-LOG-MIB::notificationLogMIB"

STOPAGENT

STOPTRAPD

###XXX CHECKORDIE "coldStart"
CHECKTRAPDORDIE "authenticationFailure"
CHECKANDDIE "Timeout: "
###XXX CHECKORDIE "coldStart"
CHECKORDIE "authenticationFailure"

FINISHED
