1# 2# This file is part of pysnmp software. 3# 4# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com> 5# License: http://snmplabs.com/pysnmp/license.html 6# 7from pysnmp.proto.secmod import cache 8from pysnmp.proto import error 9 10 11class AbstractSecurityModel(object): 12 securityModelID = None 13 14 def __init__(self): 15 self._cache = cache.Cache() 16 17 def processIncomingMsg(self, snmpEngine, messageProcessingModel, 18 maxMessageSize, securityParameters, 19 securityModel, securityLevel, wholeMsg, msg): 20 raise error.ProtocolError('Security model %s not implemented' % self) 21 22 def generateRequestMsg(self, snmpEngine, messageProcessingModel, 23 globalData, maxMessageSize, securityModel, 24 securityEngineID, securityName, securityLevel, 25 scopedPDU): 26 raise error.ProtocolError('Security model %s not implemented' % self) 27 28 def generateResponseMsg(self, snmpEngine, messageProcessingModel, 29 globalData, maxMessageSize, securityModel, 30 securityEngineID, securityName, securityLevel, 31 scopedPDU, securityStateReference): 32 raise error.ProtocolError('Security model %s not implemented' % self) 33 34 def releaseStateInformation(self, stateReference): 35 self._cache.pop(stateReference) 36 37 def receiveTimerTick(self, snmpEngine, timeNow): 38 pass 39