From 868c8e1c5b0a940b1179582603bb67167bead2d2 Mon Sep 17 00:00:00 2001
From: Pierre LALET <pierre.lalet@cea.fr>
Date: Thu, 21 Jan 2016 12:47:37 +0100
Subject: [PATCH] Accept generators and xrange objects as field values

---
 scapy/base_classes.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/scapy/base_classes.py b/scapy/base_classes.py
index 3fa05486..e6be1126 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:
-- 
GitLab