diff --git a/scapy/base_classes.py b/scapy/base_classes.py index 3fa054866c9297fbf4687e3a853742d8b86e3fca..e6be1126c17aa0afb9975aea1dc180344fc8871e 100644 --- a/scapy/base_classes.py +++ b/scapy/base_classes.py @@ -14,6 +14,7 @@ Generators and packet meta classes. import re,random,socket import config import error +import types class Gen(object): def __iter__(self): @@ -36,7 +37,9 @@ class SetGen(Gen): while j <= i[1]: yield j j += 1 - elif isinstance(i, Gen) and (self._iterpacket or not isinstance(i,BasePacket)): + elif (isinstance(i, Gen) and + (self._iterpacket or not isinstance(i,BasePacket))) or ( + isinstance(i, (xrange, types.GeneratorType))): for j in i: yield j else: