diff --git a/scapy/config.py b/scapy/config.py index a1c44eb3a03c7e398254a9f477a083553fdb73c0..fc39b826eeb042f389c97b48020e6ce1db9e214a 100644 --- a/scapy/config.py +++ b/scapy/config.py @@ -238,6 +238,9 @@ extensions_paths: path or list of paths where extensions are to be looked for stats_classic_protocols = [] stats_dot11_protocols = [] netcache = NetCache() + load_layers = ["l2", "inet", "dhcp", "dns", "dot11", "gprs", "hsrp", "ip6", "ir", "isakmp", "l2tp", + "mgcp", "mobileip", "netbios", "netflow", "ntp", "ppp", "radius", "rip", "rtp", + "sebek", "skinny", "smb", "snmp", "tftp", "x509", "bluetooth" ] conf=Conf() diff --git a/scapy/layers/all.py b/scapy/layers/all.py index 0887be49301fcfa5316de28a5386fbeb3c3d35e5..f6518cd3a5133ee3057b7318751898fdf2737681 100644 --- a/scapy/layers/all.py +++ b/scapy/layers/all.py @@ -3,30 +3,18 @@ ## Copyright (C) Philippe Biondi <phil@secdev.org> ## This program is published under a GPLv2 license -from l2 import * -from inet import * -from dhcp import * -from dns import * -from dot11 import * -from gprs import * -from hsrp import * -from ip6 import * -from ir import * -from isakmp import * -from l2tp import * -from mgcp import * -from mobileip import * -from netbios import * -from netflow import * -from ntp import * -from ppp import * -from radius import * -from rip import * -from rtp import * -from sebek import * -from skinny import * -from smb import * -from snmp import * -from tftp import * -from x509 import * -from bluetooth import * +from scapy.config import conf +from scapy.error import log_loading + +def _import_star(m): + mod = __import__(m, globals(), locals()) + for k,v in mod.__dict__.iteritems(): + globals()[k] = v + +for l in conf.load_layers: + log_loading.debug("Loading layer %s" % l) + _import_star(l) + + + +