summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelie <elie>2011-12-07 17:08:15 +0000
committerelie <elie>2011-12-07 17:08:15 +0000
commitf0dcaef0eb91d8cfb8f70af0c6800abcc768c15f (patch)
treee475c61898f917ff44728e7fb58ed999b3c78c1c
parent757ae70da4cfa7e98a692488707be9beb4f25212 (diff)
downloadpysnmp-f0dcaef0eb91d8cfb8f70af0c6800abcc768c15f.tar.gz
autogenerated securityName should depend of all CommunityData initializers
-rw-r--r--pysnmp/entity/rfc3413/oneliner/cmdgen.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/pysnmp/entity/rfc3413/oneliner/cmdgen.py b/pysnmp/entity/rfc3413/oneliner/cmdgen.py
index d7fa23d..042528d 100644
--- a/pysnmp/entity/rfc3413/oneliner/cmdgen.py
+++ b/pysnmp/entity/rfc3413/oneliner/cmdgen.py
@@ -30,9 +30,6 @@ class CommunityData:
contextName = null
def __init__(self, securityName, communityName=None, mpModel=None,
contextEngineId=None, contextName=None):
- if communityName is None:
- communityName = securityName
- securityName = 's%s' % hash(securityName)
self.securityName = securityName
self.communityName = communityName
if mpModel is not None:
@@ -41,6 +38,13 @@ class CommunityData:
self.contextEngineId = contextEngineId
if contextName is not None:
self.contextName = contextName
+ # Autogenerate securityName if not specified
+ if communityName is None:
+ self.communityName = securityName
+ self.securityName = 's%s' % hash(
+ ( securityName, self.mpModel,
+ self.contextEngineId, self.contextName )
+ )
def __repr__(self):
return '%s("%s", <COMMUNITY>, %r, %r, %r)' % (