diff --git a/scapy/fields.py b/scapy/fields.py index 0a92cef86..336eca95a 100644 --- a/scapy/fields.py +++ b/scapy/fields.py @@ -265,6 +265,9 @@ class SourceIPField(IPField): return IPField.i2m(self, pkt, x) def i2h(self, pkt, x): if x is None: + if conf.route is None: + # unused import, only to initialize conf.route + import scapy.route dst=getattr(pkt,self.dstname) if isinstance(dst,Gen): r = map(conf.route.route, dst) diff --git a/scapy/layers/inet.py b/scapy/layers/inet.py index ea7eec7c8..0101f697f 100644 --- a/scapy/layers/inet.py +++ b/scapy/layers/inet.py @@ -392,6 +392,9 @@ class IP(Packet, IPTools): dst = self.dst if isinstance(dst,Gen): dst = iter(dst).next() + if conf.route is None: + # unused import, only to initialize conf.route + import scapy.route return conf.route.route(dst) def hashret(self): if ( (self.proto == socket.IPPROTO_ICMP) diff --git a/scapy/layers/inet6.py b/scapy/layers/inet6.py index 63fb7cbf1..03b80ecb4 100644 --- a/scapy/layers/inet6.py +++ b/scapy/layers/inet6.py @@ -51,6 +51,9 @@ from scapy.layers.l2 import * from scapy.layers.inet import * from scapy.utils import inet_pton, inet_ntop, strxor from scapy.error import warning +if conf.route6 is None: + # unused import, only to initialize conf.route6 + import scapy.route6 ############################################################################# diff --git a/scapy/layers/l2.py b/scapy/layers/l2.py index 16b378f4f..eca516b70 100644 --- a/scapy/layers/l2.py +++ b/scapy/layers/l2.py @@ -19,6 +19,9 @@ from scapy.fields import * from scapy.sendrecv import * from scapy.arch import get_if_hwaddr from scapy.utils import inet_ntoa, inet_aton +if conf.route is None: + # unused import, only to initialize conf.route + import scapy.route diff --git a/scapy/modules/p0f.py b/scapy/modules/p0f.py index a93482d78..ac7b68423 100644 --- a/scapy/modules/p0f.py +++ b/scapy/modules/p0f.py @@ -20,6 +20,9 @@ from scapy.packet import NoPayload, Packet from scapy.error import warning, Scapy_Exception, log_runtime from scapy.volatile import RandInt, RandByte, RandChoice, RandNum, RandShort, RandString from scapy.sendrecv import sniff +if conf.route is None: + # unused import, only to initialize conf.route + import scapy.route conf.p0f_base ="/etc/p0f/p0f.fp" conf.p0fa_base ="/etc/p0f/p0fa.fp" diff --git a/scapy/sendrecv.py b/scapy/sendrecv.py index 474bcccd5..0686bcb0d 100644 --- a/scapy/sendrecv.py +++ b/scapy/sendrecv.py @@ -20,6 +20,9 @@ from scapy import plist from scapy.error import log_runtime,log_interactive from scapy.base_classes import SetGen from scapy.supersocket import StreamSocket +if conf.route is None: + # unused import, only to initialize conf.route + import scapy.route ################# ## Debug class ##