--- scapy.py.orig 2006-02-23 17:11:38.534732000 +0000 +++ scapy.py 2006-02-24 15:04:39.481348750 +0000 @@ -3349,6 +3349,26 @@ x = 0 return hex(self.i2h(pkt, x)) +# Little endian long field +class LELongField(Field): + def __init__(self, name, default): + Field.__init__(self, name, default, "@Q") + +# Little endian fixed length field +class LEFieldLenField(Field): + def __init__(self, name, default, fld, fmt = "@H", shift=0): + Field.__init__(self, name, default, fmt) + self.fld = fld + self.shift = shift + def i2m(self, pkt, x): + if x is None: + x = len(getattr(pkt, self.fld))-self.shift + return x + def i2h(self, pkt, x): + if x is None: + x = len(getattr(pkt, self.fld))+self.shift + return x + class StrField(Field): def __init__(self, name, default, fmt="H", remain=0): @@ -5932,8 +5952,8 @@ class Dot11Beacon(Packet): name = "802.11 Beacon" - fields_desc = [ LongField("timestamp", 0), - ShortField("beacon_interval", 0x6400), + fields_desc = [ LELongField("timestamp", 0), + LEShortField("beacon_interval", 0x6400), FlagsField("cap", 0, 16, capability_list) ] @@ -7039,26 +7059,6 @@ BitField("LENGTH",0,17)] -# Little endian long field -class LELongField(Field): - def __init__(self, name, default): - Field.__init__(self, name, default, "@Q") - -# Little endian fixed length field -class LEFieldLenField(Field): - def __init__(self, name, default, fld, fmt = "@H", shift=0): - Field.__init__(self, name, default, fmt) - self.fld = fld - self.shift = shift - def i2m(self, pkt, x): - if x is None: - x = len(getattr(pkt, self.fld))-self.shift - return x - def i2h(self, pkt, x): - if x is None: - x = len(getattr(pkt, self.fld))+self.shift - return x - # SMB NetLogon Response Header class SMBNetlogon_Protocol_Response_Header(Packet): name="SMBNetlogon Protocol Response Header"