summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelie <elie>2013-05-21 06:03:15 +0000
committerelie <elie>2013-05-21 06:03:15 +0000
commit20d54b60747b2aa3b103e98a15ff99dad901cf05 (patch)
tree8f26da8d4dea78a612985c6f741ebe54aec17fd2
parent01032dc67fcb188d386c3f807d6ad5c423f895a3 (diff)
downloadpysnmp-20d54b60747b2aa3b103e98a15ff99dad901cf05.tar.gz
contextEngineId parameter of auth.UsmUserData() renamed into
securityEngineId as it's semantically correct
-rw-r--r--CHANGES4
-rw-r--r--examples/v3arch/oneliner/manager/cmdgen/set-v3-with-custom-contextengineid.py2
-rw-r--r--pysnmp/entity/rfc3413/oneliner/auth.py17
-rw-r--r--pysnmp/entity/rfc3413/oneliner/cmdgen.py8
4 files changed, 19 insertions, 12 deletions
diff --git a/CHANGES b/CHANGES
index c780c77..d665ac2 100644
--- a/CHANGES
+++ b/CHANGES
@@ -38,8 +38,8 @@ Revision 4.2.5rc2
- SNMP credentials management reworked to allow multiple securityNames's in
snmpCommunityEntry and usmUserEntry tables. Changes made to addV1System(),
addV3User() functions as well as to their oneliner's wrappers.
-- The contextEngineId parameter of config.addV3User() renamed into
- securityEngineId as it's semantically correct.
+- The contextEngineId parameter of config.addV3User() and auth.UsmUserData()
+ renamed into securityEngineId as it's semantically correct
- AsynNotificationOriginator.cfgCmdGen() does not take into account
securityModel & securityLevel when reducing LCD access via addTrapUser().
This improves LCD consistency on sparse add/del operatons but also
diff --git a/examples/v3arch/oneliner/manager/cmdgen/set-v3-with-custom-contextengineid.py b/examples/v3arch/oneliner/manager/cmdgen/set-v3-with-custom-contextengineid.py
index f0c949e..8a5242f 100644
--- a/examples/v3arch/oneliner/manager/cmdgen/set-v3-with-custom-contextengineid.py
+++ b/examples/v3arch/oneliner/manager/cmdgen/set-v3-with-custom-contextengineid.py
@@ -17,7 +17,7 @@ cmdGen = cmdgen.CommandGenerator()
errorIndication, errorStatus, errorIndex, varBinds = cmdGen.setCmd(
cmdgen.UsmUserData(
'usr-md5-des', 'authkey1', 'privkey1',
- contextEngineId=rfc1902.OctetString(hexValue='8000000004030201')
+ securityEngineId=rfc1902.OctetString(hexValue='8000000004030201')
),
cmdgen.UdpTransportTarget(('demo.snmplabs.com', 161)),
(cmdgen.MibVariable('SNMPv2-MIB', 'sysORDescr', 1), 'new system name'),
diff --git a/pysnmp/entity/rfc3413/oneliner/auth.py b/pysnmp/entity/rfc3413/oneliner/auth.py
index 575f0cb..56333d6 100644
--- a/pysnmp/entity/rfc3413/oneliner/auth.py
+++ b/pysnmp/entity/rfc3413/oneliner/auth.py
@@ -58,7 +58,10 @@ class UsmUserData:
def __init__(self, securityName,
authKey=None, privKey=None,
authProtocol=None, privProtocol=None,
- contextEngineId=None, contextName=None):
+ securityEngineId=None,
+ # deprecated parameters follow
+ contextName=None,
+ contextEngineId=None):
self.securityName = securityName
if authKey is not None:
@@ -80,7 +83,12 @@ class UsmUserData:
else:
self.privProtocol = privProtocol
- self.contextEngineId = contextEngineId
+ # the contextEngineId parameter is actually a securityEngineId
+ if securityEngineId is None:
+ securityEngineId = contextEngineId
+ self.contextEngineId = self.securityEngineId = securityEngineId
+
+ # the contextName parameter should never be used here
if contextName is not None:
self.contextName = contextName
@@ -88,11 +96,10 @@ class UsmUserData:
raise TypeError('%s is not hashable' % self.__class__.__name__)
def __repr__(self):
- return '%s("%s", <AUTHKEY>, <PRIVKEY>, %r, %r, %r, %r)' % (
+ return '%s("%s", <AUTHKEY>, <PRIVKEY>, %r, %r, %r)' % (
self.__class__.__name__,
self.securityName,
self.authProtocol,
self.privProtocol,
- self.contextEngineId,
- self.contextName
+ self.securityEngineId
)
diff --git a/pysnmp/entity/rfc3413/oneliner/cmdgen.py b/pysnmp/entity/rfc3413/oneliner/cmdgen.py
index 65918df..7566896 100644
--- a/pysnmp/entity/rfc3413/oneliner/cmdgen.py
+++ b/pysnmp/entity/rfc3413/oneliner/cmdgen.py
@@ -56,14 +56,14 @@ class AsynCommandGenerator:
)
self.__knownAuths[authData.communityIndex] = authData
elif isinstance(authData, UsmUserData):
- authDataKey = authData.securityName, authData.contextEngineId
+ authDataKey = authData.securityName, authData.securityEngineId
if authDataKey not in self.__knownAuths:
config.addV3User(
self.snmpEngine,
authData.securityName,
authData.authProtocol, authData.authKey,
authData.privProtocol, authData.privKey,
- authData.contextEngineId
+ authData.securityEngineId
)
self.__knownAuths[authDataKey] = authData
else:
@@ -121,7 +121,7 @@ class AsynCommandGenerator:
if isinstance(authData, CommunityData):
authDataKey = authData.communityIndex
elif isinstance(authData, UsmUserData):
- authDataKey = authData.securityName, authData.contextEngineId
+ authDataKey = authData.securityName, authData.securityEngineId
else:
raise error.PySnmpError('Unsupported authentication object')
if authDataKey in self.__knownAuths:
@@ -145,7 +145,7 @@ class AsynCommandGenerator:
config.delV3User(
self.snmpEngine,
authDataX.securityName,
- authDataX.contextEngineId
+ authDataX.securityEngineId
)
else:
raise error.PySnmpError('Unsupported authentication object')