Skip to content
Snippets Groups Projects
Commit cb081c79 authored by Pierre LALET's avatar Pierre LALET
Browse files

Handle dynamic Packet().name

parent 5bcea64d
No related branches found
No related tags found
No related merge requests found
...@@ -178,6 +178,8 @@ class Packet_metaclass(type): ...@@ -178,6 +178,8 @@ class Packet_metaclass(type):
if "__slots__" not in dct: if "__slots__" not in dct:
dct["__slots__"] = [] dct["__slots__"] = []
if "name" in dct:
dct["_name"] = dct.pop("name")
newcls = super(Packet_metaclass, cls).__new__(cls, name, bases, dct) newcls = super(Packet_metaclass, cls).__new__(cls, name, bases, dct)
if hasattr(newcls, "aliastypes"): if hasattr(newcls, "aliastypes"):
newcls.aliastypes = [newcls] + newcls.aliastypes newcls.aliastypes = [newcls] + newcls.aliastypes
......
...@@ -40,6 +40,7 @@ class Packet(BasePacket): ...@@ -40,6 +40,7 @@ class Packet(BasePacket):
"raw_packet_cache_fields", "_pkt", "post_transforms", "raw_packet_cache_fields", "_pkt", "post_transforms",
# then payload and underlayer # then payload and underlayer
"payload", "underlayer", "payload", "underlayer",
"name",
] ]
__metaclass__ = Packet_metaclass __metaclass__ = Packet_metaclass
name = None name = None
...@@ -65,6 +66,9 @@ class Packet(BasePacket): ...@@ -65,6 +66,9 @@ class Packet(BasePacket):
def __init__(self, _pkt="", post_transform=None, _internal=0, _underlayer=None, **fields): def __init__(self, _pkt="", post_transform=None, _internal=0, _underlayer=None, **fields):
self.time = time.time() self.time = time.time()
self.sent_time = None self.sent_time = None
self.name = (self.__class__.__name__
if self._name is None else
self._name)
self.default_fields = {} self.default_fields = {}
self.overloaded_fields = {} self.overloaded_fields = {}
self.fields = {} self.fields = {}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment