From 200ecb02d0fa175f88ee2e489468c291b1ff049e Mon Sep 17 00:00:00 2001
From: Phil <phil@secdev.org>
Date: Sun, 31 Aug 2008 00:33:01 +0200
Subject: [PATCH] Move RandDHCPOptions to layers/dhcp.py

---
 scapy/layers/dhcp.py | 22 ++++++++++++++++++++++
 scapy/volatile.py    | 22 ----------------------
 2 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/scapy/layers/dhcp.py b/scapy/layers/dhcp.py
index fdb4d717..8527112c 100644
--- a/scapy/layers/dhcp.py
+++ b/scapy/layers/dhcp.py
@@ -10,6 +10,7 @@ from scapy.fields import *
 from scapy.ansmachine import *
 from scapy.layers.inet import UDP
 from scapy.base_classes import Net
+from scapy.volatile import RandField
 
 dhcpmagic="c\x82Sc"
 
@@ -145,6 +146,27 @@ del(k)
     
 
 
+class RandDHCPOptions(RandField):
+    def __init__(self, size=None, rndstr=None):
+        if size is None:
+            size = RandNumExpo(0.05)
+        self.size = size
+        if rndstr is None:
+            rndstr = RandBin(RandNum(0,255))
+        self.rndstr=rndstr
+        self._opts = DHCPOptions.values()
+        self._opts.remove("pad")
+        self._opts.remove("end")
+    def _fix(self):
+        op = []
+        for k in range(self.size):
+            o = random.choice(self._opts)
+            if type(o) is str:
+                op.append((o,self.rndstr*1))
+            else:
+                op.append((o.name, o.randval()._fix()))
+        return op
+
 
 class DHCPOptionsField(StrField):
     islist=1
diff --git a/scapy/volatile.py b/scapy/volatile.py
index ccfd4536..b6f7181a 100644
--- a/scapy/volatile.py
+++ b/scapy/volatile.py
@@ -205,28 +205,6 @@ class RandOID(RandString):
                     oid.append(i)
             return ".".join(oid)
             
-
-
-class RandDHCPOptions(RandField):
-    def __init__(self, size=None, rndstr=None):
-        if size is None:
-            size = RandNumExpo(0.05)
-        self.size = size
-        if rndstr is None:
-            rndstr = RandBin(RandNum(0,255))
-        self.rndstr=rndstr
-        self._opts = DHCPOptions.values()
-        self._opts.remove("pad")
-        self._opts.remove("end")
-    def _fix(self):
-        op = []
-        for k in range(self.size):
-            o = random.choice(self._opts)
-            if type(o) is str:
-                op.append((o,self.rndstr*1))
-            else:
-                op.append((o.name, o.randval()._fix()))
-        return op
             
 
 # Automatic timestamp
-- 
GitLab