From e02f12feef2f5bf68e1632f01ef3ab6192d35bbb Mon Sep 17 00:00:00 2001
From: Phil <phil@secdev.org>
Date: Thu, 3 Jul 2008 19:07:34 +0200
Subject: [PATCH] Fixed imports

---
 scapy/ansmachine.py    |  4 +++-
 scapy/asn1/asn1.py     |  3 ++-
 scapy/asn1/ber.py      |  3 ++-
 scapy/asn1/mib.py      |  3 ++-
 scapy/automaton.py     |  4 ++++
 scapy/autorun.py       |  2 ++
 scapy/config.py        |  4 +++-
 scapy/data.py          |  1 +
 scapy/error.py         |  1 +
 scapy/fields.py        |  3 +++
 scapy/layers/dot11.py  |  1 +
 scapy/layers/inet.py   |  2 ++
 scapy/main.py          |  4 ++--
 scapy/modules/queso.py |  2 ++
 scapy/modules/voip.py  |  8 +++++++-
 scapy/plist.py         | 18 ++++++++++++++++--
 scapy/route.py         |  6 +++---
 scapy/sendrecv.py      |  5 ++++-
 scapy/supersocket.py   |  2 +-
 scapy/themes.py        |  3 ++-
 scapy/utils.py         |  3 +++
 scapy/volatile.py      |  2 ++
 22 files changed, 68 insertions(+), 16 deletions(-)

diff --git a/scapy/ansmachine.py b/scapy/ansmachine.py
index adf7f1f3..1c4f0762 100644
--- a/scapy/ansmachine.py
+++ b/scapy/ansmachine.py
@@ -2,7 +2,9 @@
 ## Answering machines ##
 ########################
 
-from sendrecv import send,sendp
+from sendrecv import send,sendp,sniff
+from config import conf
+from error import log_interactive
 
 class ReferenceAM(type):
     def __new__(cls, name, bases, dct):
diff --git a/scapy/asn1/asn1.py b/scapy/asn1/asn1.py
index 40bc88c9..2b1ffd22 100644
--- a/scapy/asn1/asn1.py
+++ b/scapy/asn1/asn1.py
@@ -1,5 +1,6 @@
 import random
-from scapy.error import Scapy_Exception
+from scapy.config import conf
+from scapy.error import Scapy_Exception,warning
 from scapy.volatile import RandField
 from scapy.utils import Enum_metaclass, EnumElement
 
diff --git a/scapy/asn1/ber.py b/scapy/asn1/ber.py
index 6d0e7487..abe99cd3 100644
--- a/scapy/asn1/ber.py
+++ b/scapy/asn1/ber.py
@@ -1,4 +1,5 @@
-from asn1 import ASN1_Decoding_Error,ASN1_BadTag_Decoding_Error,ASN1_Codecs,ASN1_Class_UNIVERSAL
+from scapy.error import warning
+from asn1 import ASN1_Decoding_Error,ASN1_BadTag_Decoding_Error,ASN1_Codecs,ASN1_Class_UNIVERSAL,ASN1_Error,ASN1_DECODING_ERROR,ASN1_BADTAG
 
 ##################
 ## BER encoding ##
diff --git a/scapy/asn1/mib.py b/scapy/asn1/mib.py
index d8717716..f815a35d 100644
--- a/scapy/asn1/mib.py
+++ b/scapy/asn1/mib.py
@@ -1,7 +1,8 @@
 import re
 from glob import glob
-from scapy.dadict import DADict
+from scapy.dadict import DADict,fixname
 from scapy.config import conf
+from scapy.utils import do_graph
 
 #################
 ## MIB parsing ##
diff --git a/scapy/automaton.py b/scapy/automaton.py
index 5893c957..2c99213f 100644
--- a/scapy/automaton.py
+++ b/scapy/automaton.py
@@ -1,6 +1,10 @@
 import types,itertools,time
 from select import select
 from config import conf
+from utils import do_graph
+from error import log_interactive
+from plist import PacketList
+from data import MTU
 
 ##############
 ## Automata ##
diff --git a/scapy/autorun.py b/scapy/autorun.py
index 4fc93fd7..e5ca2f8a 100644
--- a/scapy/autorun.py
+++ b/scapy/autorun.py
@@ -1,4 +1,6 @@
 import code,sys
+from config import conf
+from themes import *
 from error import Scapy_Exception
 
 #########################
diff --git a/scapy/config.py b/scapy/config.py
index fdf12aa2..93bcfe7e 100644
--- a/scapy/config.py
+++ b/scapy/config.py
@@ -171,7 +171,9 @@ extensions_paths: path or list of paths where extensions are to be looked for
     services_tcp = TCP_SERVICES
     services_udp = UDP_SERVICES
     extensions_paths = "."
-    manufdb = load_manuf("/usr/share/wireshark/wireshark/manuf")   
+    manufdb = load_manuf("/usr/share/wireshark/wireshark/manuf")
+    stats_classic_protocols = []
+    stats_dot11_protocols = []
 
 conf=Conf()
 
diff --git a/scapy/data.py b/scapy/data.py
index 889b66c5..d3f8f92d 100644
--- a/scapy/data.py
+++ b/scapy/data.py
@@ -1,5 +1,6 @@
 import re
 from dadict import DADict
+from error import log_loading
 
 ############
 ## Consts ##
diff --git a/scapy/error.py b/scapy/error.py
index ad375b8a..0dfcc74a 100644
--- a/scapy/error.py
+++ b/scapy/error.py
@@ -13,6 +13,7 @@ class ScapyFreqFilter(logging.Filter):
         logging.Filter.__init__(self)
         self.warning_table = {}
     def filter(self, record):        
+        from config import conf
         wt = conf.warning_threshold
         if wt > 0:
             stk = traceback.extract_stack()
diff --git a/scapy/fields.py b/scapy/fields.py
index 637e706a..b402ac39 100644
--- a/scapy/fields.py
+++ b/scapy/fields.py
@@ -1,8 +1,11 @@
 import struct,copy,socket
+from config import conf
+from volatile import VolatileValue
 from data import *
 from utils import *
 from base_classes import BasePacket
 
+
 ############
 ## Fields ##
 ############
diff --git a/scapy/layers/dot11.py b/scapy/layers/dot11.py
index b09058fd..a6593fec 100644
--- a/scapy/layers/dot11.py
+++ b/scapy/layers/dot11.py
@@ -467,3 +467,4 @@ iwconfig wlan0 mode managed
 
             
         
+conf.stats_dot11_protocols += [Dot11WEP, Dot11Beacon, ]
diff --git a/scapy/layers/inet.py b/scapy/layers/inet.py
index 860858f9..acda9a28 100644
--- a/scapy/layers/inet.py
+++ b/scapy/layers/inet.py
@@ -817,3 +817,5 @@ def fragleak2(target, timeout=0.4, onlyasc=0):
         pass
     
 
+conf.stats_classic_protocols += [TCP,UDP,ICMP]
+conf.stats_dot11_protocols += [TCP,UDP,ICMP]
diff --git a/scapy/main.py b/scapy/main.py
index 99febe18..ca30a04b 100644
--- a/scapy/main.py
+++ b/scapy/main.py
@@ -79,7 +79,7 @@ def scapy_write_history_file(readline):
 
 def interact(mydict=None,argv=None,mybanner=None,loglevel=1):
     global session
-    import code,sys,cPickle,types,os,imp,getopt,logging,re
+    import code,sys,cPickle,os,imp,getopt,logging,re
 
     logging.getLogger("scapy").setLevel(loglevel)
 
@@ -112,7 +112,7 @@ def interact(mydict=None,argv=None,mybanner=None,loglevel=1):
         __builtin__.__dict__.update(mydict)
         globkeys += mydict.keys()
     
-    import re, atexit
+    import atexit
     try:
         import rlcompleter,readline
     except ImportError:
diff --git a/scapy/modules/queso.py b/scapy/modules/queso.py
index de29726e..db85b7ae 100644
--- a/scapy/modules/queso.py
+++ b/scapy/modules/queso.py
@@ -1,5 +1,7 @@
 from scapy.data import KnowledgeBase
 from scapy.config import conf
+from scapy.layers.inet import IP,TCP
+#from 
 
 conf.queso_base ="/etc/queso.conf"
 
diff --git a/scapy/modules/voip.py b/scapy/modules/voip.py
index df2e4f8c..f2a08351 100644
--- a/scapy/modules/voip.py
+++ b/scapy/modules/voip.py
@@ -3,14 +3,20 @@ import os
 ## Testing stuff ##
 ###################
 
+from fcntl import fcntl
+from scapy.sendrecv import sniff
+from scapy.packet import Raw
+from scapy.layers.inet import IP,UDP
+from scapy.layers.rtp import RTP
 
 
-def merge(x,y):
+def merge(x,y,sample_size=2):
     if len(x) > len(y):
         y += "\x00"*(len(x)-len(y))
     elif len(x) < len(y):
         x += "\x00"*(len(y)-len(x))
     m = ""
+    ss=sample_size
     for i in range(len(x)/ss):
         m += x[ss*i:ss*(i+1)]+y[ss*i:ss*(i+1)]
     return  m
diff --git a/scapy/plist.py b/scapy/plist.py
index 65b4a7ac..2d993899 100644
--- a/scapy/plist.py
+++ b/scapy/plist.py
@@ -3,6 +3,18 @@ from config import conf
 from error import warning
 from base_classes import BasePacket,BasePacketList
 
+from utils import incremental_label,colgen,do_graph,hexdump,make_table,make_lined_table,make_tex_table
+from packet import Padding,Raw
+from sendrecv import sr
+from layers.inet import IP,TCP,UDP,ICMP
+from layers.l2 import Ether
+from layers.dot11 import Dot11
+from layers.ip6 import IPv6 #,ICMPv6TimeExceeded
+
+import arch
+if arch.GNUPLOT:
+    Gnuplot=arch.Gnuplot
+
 #############
 ## Results ##
 #############
@@ -14,7 +26,7 @@ class PacketList(BasePacketList):
            res: the list of packets
            stats: a list of classes that will appear in the stats (defaults to [TCP,UDP,ICMP])"""
         if stats is None:
-            stats = [ TCP,UDP,ICMP ]
+            stats = conf.stats_classic_protocols
         self.stats = stats
         if res is None:
             res = []
@@ -344,6 +356,7 @@ lfilter: truth function to apply to each packet to decide whether it will be dis
         return g
         
     def _dump_document(self, **kargs):
+        import pyx
         d = pyx.document.document()
         l = len(self.res)
         for i in range(len(self.res)):
@@ -421,7 +434,7 @@ lfilter: truth function to apply to each packet to decide whether it will be dis
 class Dot11PacketList(PacketList):
     def __init__(self, res=None, name="Dot11List", stats=None):
         if stats is None:
-            stats = [Dot11WEP, Dot11Beacon, UDP, ICMP, TCP]
+            stats = conf.stats_dot11_protocols
 
         PacketList.__init__(self, res, name, stats)
     def toEthernet(self):
@@ -698,6 +711,7 @@ class TracerouteResult(SndRcvList):
                 
                 
     def world_trace(self):
+        from modules.geo import locate_ip
         ips = {}
         rt = {}
         ports_done = {}
diff --git a/scapy/route.py b/scapy/route.py
index 647b5851..33cfad15 100644
--- a/scapy/route.py
+++ b/scapy/route.py
@@ -1,8 +1,8 @@
 import socket
-from arch import read_routes
-from utils import atol
+from arch import read_routes,get_if_addr
+from utils import atol,ltoa,itom
 from config import conf
-from error import warning
+from error import Scapy_Exception,warning
 
 ##############################
 ## Routing/Interfaces stuff ##
diff --git a/scapy/sendrecv.py b/scapy/sendrecv.py
index 03ce3658..3ae2047a 100644
--- a/scapy/sendrecv.py
+++ b/scapy/sendrecv.py
@@ -1,8 +1,11 @@
 import cPickle,os,sys,time
 from select import select
 from data import *
+from arch import *
 from config import conf
-
+from packet import Gen
+from plist import PacketList,SndRcvList
+from utils import warning
 
 #################
 ## Debug class ##
diff --git a/scapy/supersocket.py b/scapy/supersocket.py
index f9406018..a5bc6e38 100644
--- a/scapy/supersocket.py
+++ b/scapy/supersocket.py
@@ -3,7 +3,7 @@ from select import select
 from packet import Raw
 from data import *
 from config import conf
-from arch import PCAP,DNET
+from arch import PCAP,DNET,get_if_list,set_promisc,get_last_packet_timestamp,attach_filter
 
 def flush_fd(fd):
     if type(fd) is not int:
diff --git a/scapy/themes.py b/scapy/themes.py
index 64035799..e7676cce 100644
--- a/scapy/themes.py
+++ b/scapy/themes.py
@@ -1,4 +1,5 @@
-    
+from config import conf
+
 ##################
 ## Color themes ##
 ##################
diff --git a/scapy/utils.py b/scapy/utils.py
index a5f67041..c4de012a 100644
--- a/scapy/utils.py
+++ b/scapy/utils.py
@@ -1,8 +1,11 @@
 import os,sys,socket,types
+from config import conf
 import random
 import gzip,zlib,cPickle
 import re,struct,array
 from arch import *
+from error import log_runtime
+
 
 ###########
 ## Tools ##
diff --git a/scapy/volatile.py b/scapy/volatile.py
index 8a1b831f..86ab5199 100644
--- a/scapy/volatile.py
+++ b/scapy/volatile.py
@@ -1,4 +1,6 @@
 import random,time
+from base_classes import Net
+from utils import corrupt_bits,corrupt_bytes
 
 ####################
 ## Random numbers ##
-- 
GitLab