Python 3: fix HomePlugAv

This commit is contained in:
gpotter2 2017-10-14 16:25:08 +02:00
parent 26cd61b0fd
commit baf441dcb9
3 changed files with 22 additions and 22 deletions

View File

@ -201,7 +201,7 @@ class NetworkInfoV10(Packet):
XByteField("CCoTerminalEID", 0x01) ]
def extract_padding(self, p):
return "", p
return b"", p
class StationInfoV10(Packet):
"""
@ -215,7 +215,7 @@ class StationInfoV10(Packet):
XByteField("RXaverage", 0x00) ]
def extract_padding(self, p):
return "", p
return b"", p
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
# Networks & Stations informations for MAC Management V1.1
@ -236,7 +236,7 @@ class NetworkInfoV11(Packet):
X3BytesField("reserved_3", 0x000000) ]
def extract_padding(self, p):
return "", p
return b"", p
class StationInfoV11(Packet):
@ -256,7 +256,7 @@ class StationInfoV11(Packet):
XByteField("reserved_s4", 0x00) ]
def extract_padding(self, p):
return "", p
return b"", p
#""""""""""""""""""""""""" END """"""""""""""""""""""""""""""""""""""""""""""""""""""""""
@ -521,7 +521,7 @@ class ClassifierPriorityMap(Packet):
]
def extract_padding(self, p):
return "", p
return b"", p
class ClassifierObj(Packet):
name = "ClassifierObj"
@ -534,7 +534,7 @@ class ClassifierObj(Packet):
]
def extract_padding(self, p):
return "", p
return b"", p
class AutoConnection(Packet):
name = "AutoConnection"
@ -559,7 +559,7 @@ class AutoConnection(Packet):
]
def extract_padding(self, p):
return "", p
return b"", p
class PeerNode(Packet):
name = "PeerNodes"
@ -568,7 +568,7 @@ class PeerNode(Packet):
]
def extract_padding(self, p):
return "", p
return b"", p
class AggregateConfigEntrie(Packet):
name = "AggregateConfigEntrie"
@ -577,7 +577,7 @@ class AggregateConfigEntrie(Packet):
]
def extract_padding(self, p):
return "", p
return b"", p
class RSVD_CustomAggregationParameter(Packet):
name = "RSVD_CustomAggregationParameter"
@ -585,7 +585,7 @@ class RSVD_CustomAggregationParameter(Packet):
]
def extract_padding(self, p):
return "", p
return b"", p
class PrescalerValue(Packet):
name = "PrescalerValue"
@ -593,7 +593,7 @@ class PrescalerValue(Packet):
]
def extract_padding(self, p):
return "", p
return b"", p
class GPIOMap(Packet):
name = "GPIOMap"
@ -601,7 +601,7 @@ class GPIOMap(Packet):
]
def extract_padding(self, p):
return "", p
return b"", p
class ReservedPercentageForCap(Packet):
name = "ReservedPercentageForCap"
@ -609,7 +609,7 @@ class ReservedPercentageForCap(Packet):
]
def extract_padding(self, p):
return "", p
return b"", p
class ConfigBit(Packet):
name = "ConfigBit"
@ -632,7 +632,7 @@ class ContentionWindowTable(Packet):
]
def extract_padding(self, p):
return "", p
return b"", p
class BackoffDeferalCountTable(Packet):
name = "BackoffDeferalCountTable"
@ -640,7 +640,7 @@ class BackoffDeferalCountTable(Packet):
]
def extract_padding(self, p):
return "", p
return b"", p
class BehaviorBlockArray(Packet):
name = "BehaviorBlockArray"
@ -657,7 +657,7 @@ class BehaviorBlockArray(Packet):
]
def extract_padding(self, p):
return "", p
return b"", p
class EventBlockArray(Packet):
name = "EventBlockArray"
@ -672,7 +672,7 @@ class EventBlockArray(Packet):
]
def extract_padding(self, p):
return "", p
return b"", p
class ModulePIB(Packet):
"""

View File

@ -48,24 +48,24 @@ HomePlugAV()/SnifferIndicate()
pkt = HomePlugAV()/SetEncryptionKeyRequest()
pkt.NMK = "A" * 16
pkt.DAK = "B" * 16
str(pkt)
raw(pkt)
_ == b"\x00P\xa0\x00\xb0R\x00AAAAAAAAAAAAAAAA\x00\xff\xff\xff\xff\xff\xffBBBBBBBBBBBBBBBB"
pkt = HomePlugAV()/ReadMACMemoryRequest()
pkt.Address = 0x31337
pkt.Length = 0x666
str(pkt)
raw(pkt)
_ == b"\x00\x08\xa0\x00\xb0R7\x13\x03\x00f\x06\x00\x00"
pkt = HomePlugAV()/ReadModuleDataRequest()
pkt.Length = 0x666
pkt.Offset = 0x1337
str(pkt)
raw(pkt)
assert(_ == b"\x00$\xa0\x00\xb0R\x02\x00f\x067\x13\x00\x00")
pkt = HomePlugAV()/SnifferRequest()
pkt.SnifferControl = 0x1
str(pkt)
raw(pkt)
_ == b"\x004\xa0\x00\xb0R\x01"
= Some important fields parsing

View File

@ -522,7 +522,7 @@ class PacketListField(PacketField):
if x is None:
return None
else:
return [p if isinstance(p, bytes) else p.copy() for p in x]
return [p if isinstance(p, six.string_types) else p.copy() for p in x]
def getfield(self, pkt, s):
c = l = cls = None
if self.length_from is not None: