summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pysnmp/carrier/asynsock/dgram/base.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/pysnmp/carrier/asynsock/dgram/base.py b/pysnmp/carrier/asynsock/dgram/base.py
index 627c62d..7b2cce3 100644
--- a/pysnmp/carrier/asynsock/dgram/base.py
+++ b/pysnmp/carrier/asynsock/dgram/base.py
@@ -72,6 +72,16 @@ class DgramSocketTransport(AbstractSocketTransport):
def handle_read(self):
try:
incomingMessage, transportAddress = self.socket.recvfrom(65535)
+ if '%' in transportAddress[0]: # strip zone ID
+ transportAddress = (transportAddress[0].split('%')[0],
+ transportAddress[1],
+ 0, # flowinfo
+ 0) # scopeid
+ else:
+ transportAddress = (transportAddress[0],
+ transportAddress[1],
+ 0, # flowinfo
+ 0) # scopeid
debug.logger & debug.flagIO and debug.logger('handle_read: transportAddress %r -> %r incomingMessage (%d octets) %s' % (transportAddress, self.__getsockname(), len(incomingMessage), debug.hexdump(incomingMessage)))
if not incomingMessage:
self.handle_close()