diff options
author | elie <elie> | 2005-11-03 15:59:18 +0000 |
---|---|---|
committer | elie <elie> | 2005-11-03 15:59:18 +0000 |
commit | c1c2d916ff220ccf79b65b5b6748ddafa62c5766 (patch) | |
tree | 29bd8f22ce28471ed17610b0dccd601e15d1e002 | |
parent | aa9e8aa7b1993e11f80f07a2326d98c21e50e2c7 (diff) | |
download | pysnmp-c1c2d916ff220ccf79b65b5b6748ddafa62c5766.tar.gz |
handle NetworkAddress in translation
-rw-r--r-- | pysnmp/proto/proxy/rfc2576.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/pysnmp/proto/proxy/rfc2576.py b/pysnmp/proto/proxy/rfc2576.py index 33d9308..88f686f 100644 --- a/pysnmp/proto/proxy/rfc2576.py +++ b/pysnmp/proto/proxy/rfc2576.py @@ -125,6 +125,9 @@ def v1ToV2(v1Pdu, origV2Pdu=None): # Translate Var-Binds for oid, v1Val in varBinds: + # 2.1.1.11 + if v1Val.tagSet == v1.NetworkAddress.tagSet: + v1Val = v1Val.getComponent() v2VarBinds.append( (oid, __v1ToV2ValueMap[v1Val.tagSet].clone(v1Val)) ) @@ -241,9 +244,14 @@ def v2ToV1(v2Pdu, origV1Pdu=None): # Translate Var-Binds for oid, v2Val in v2VarBinds: - v1VarBinds.append( - (oid, __v2ToV1ValueMap[v2Val.tagSet].clone(v2Val)) - ) + # 2.1.1.11 + if v2Val.tagSet == v2c.IpAddress.tagSet: + v1Val = v1.NetworkAddress().setComponentByPosition( + 0, __v2ToV1ValueMap[v2Val.tagSet].clone(v2Val) + ) + else: + v1Val = __v2ToV1ValueMap[v2Val.tagSet].clone(v2Val) + v1VarBinds.append((oid, v1Val)) if rfc3411.notificationClassPDUs.has_key(pduType): v1.apiTrapPDU.setVarBinds(v1Pdu, v1VarBinds) |