From 7c79ad9da07ac75a346e21c565f785be7661da94 Mon Sep 17 00:00:00 2001
From: Phil <phil@secdev.org>
Date: Mon, 28 Jul 2008 16:13:00 +0200
Subject: [PATCH] Moved Dot11 specific fields to dot11.py

---
 scapy/fields.py       | 33 ---------------------------------
 scapy/layers/dot11.py | 39 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 39 insertions(+), 33 deletions(-)

diff --git a/scapy/fields.py b/scapy/fields.py
index 2b289668..59d26c7d 100644
--- a/scapy/fields.py
+++ b/scapy/fields.py
@@ -181,39 +181,6 @@ class MACField(Field):
         return RandMAC()
 
 
-class Dot11AddrMACField(MACField):
-    def is_applicable(self, pkt):
-        return 1
-    def addfield(self, pkt, s, val):
-        if self.is_applicable(pkt):
-            return MACField.addfield(self, pkt, s, val)
-        else:
-            return s        
-    def getfield(self, pkt, s):
-        if self.is_applicable(pkt):
-            return MACField.getfield(self, pkt, s)
-        else:
-            return s,None
-
-class Dot11Addr2MACField(Dot11AddrMACField):
-    def is_applicable(self, pkt):
-        if pkt.type == 1:
-            return pkt.subtype in [ 0xb, 0xa, 0xe, 0xf] # RTS, PS-Poll, CF-End, CF-End+CF-Ack
-        return 1
-
-class Dot11Addr3MACField(Dot11AddrMACField):
-    def is_applicable(self, pkt):
-        if pkt.type in [0,2]:
-            return 1
-        return 0
-
-class Dot11Addr4MACField(Dot11AddrMACField):
-    def is_applicable(self, pkt):
-        if pkt.type == 2:
-            if pkt.FCfield & 0x3 == 0x3: # To-DS and From-DS are set
-                return 1
-        return 0
-    
 class IPField(Field):
     def __init__(self, name, default):
         Field.__init__(self, name, default, "4s")
diff --git a/scapy/layers/dot11.py b/scapy/layers/dot11.py
index 0159eac0..15d53665 100644
--- a/scapy/layers/dot11.py
+++ b/scapy/layers/dot11.py
@@ -5,6 +5,45 @@ from scapy.fields import *
 from scapy.plist import PacketList
 from scapy.layers.l2 import *
 
+### Fields
+
+class Dot11AddrMACField(MACField):
+    def is_applicable(self, pkt):
+        return 1
+    def addfield(self, pkt, s, val):
+        if self.is_applicable(pkt):
+            return MACField.addfield(self, pkt, s, val)
+        else:
+            return s        
+    def getfield(self, pkt, s):
+        if self.is_applicable(pkt):
+            return MACField.getfield(self, pkt, s)
+        else:
+            return s,None
+
+class Dot11Addr2MACField(Dot11AddrMACField):
+    def is_applicable(self, pkt):
+        if pkt.type == 1:
+            return pkt.subtype in [ 0xb, 0xa, 0xe, 0xf] # RTS, PS-Poll, CF-End, CF-End+CF-Ack
+        return 1
+
+class Dot11Addr3MACField(Dot11AddrMACField):
+    def is_applicable(self, pkt):
+        if pkt.type in [0,2]:
+            return 1
+        return 0
+
+class Dot11Addr4MACField(Dot11AddrMACField):
+    def is_applicable(self, pkt):
+        if pkt.type == 2:
+            if pkt.FCfield & 0x3 == 0x3: # To-DS and From-DS are set
+                return 1
+        return 0
+    
+
+### Layers
+
+
 class PrismHeader(Packet):
     """ iwpriv wlan0 monitor 3 """
     name = "Prism header"
-- 
GitLab