Skip to content

Commit a1e42bb

Browse files
committed
Use company id in EIR_Manufacturer_Specific_Data
1 parent 1940e87 commit a1e42bb

File tree

3 files changed

+13
-8
lines changed

3 files changed

+13
-8
lines changed

scapy/contrib/ibeacon.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,5 +102,5 @@ class IBeacon_Data(Packet):
102102

103103

104104
bind_layers(EIR_Manufacturer_Specific_Data, Apple_BLE_Frame,
105-
company_id=APPLE_MFG)
105+
company_identifier=APPLE_MFG)
106106
bind_layers(Apple_BLE_Submessage, IBeacon_Data, subtype=2)

scapy/layers/bluetooth.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1172,9 +1172,13 @@ class EIR_PeripheralConnectionIntervalRange(EIR_Element):
11721172

11731173
class EIR_Manufacturer_Specific_Data(EIR_Element):
11741174
name = "EIR Manufacturer Specific Data"
1175+
deprecated_fields = {
1176+
"company_id": ("company_identifier", "2.6.2"),
1177+
}
11751178
fields_desc = [
11761179
# https://www.bluetooth.com/specifications/assigned-numbers/company-identifiers
1177-
XLEShortField("company_id", None),
1180+
LEShortEnumField("company_identifier", None,
1181+
BLUETOOTH_CORE_COMPANY_IDENTIFIERS),
11781182
]
11791183

11801184
registered_magic_payloads = {}

test/scapy/layers/bluetooth.uts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -532,7 +532,8 @@ scan_resp_raw_data = \
532532
scapy_packet = HCI_Hdr(scan_resp_raw_data)
533533

534534
assert raw(scapy_packet[EIR_Manufacturer_Specific_Data].payload) == b'\x00_B31147D2461\xfc\x00\x03\x0c\x00\x00'
535-
assert scapy_packet[EIR_Manufacturer_Specific_Data].company_id == 0x154
535+
assert scapy_packet[EIR_Manufacturer_Specific_Data].company_identifier == 0x154
536+
assert scapy_packet[EIR_Manufacturer_Specific_Data].sprintf("%company_identifier%") == "Pebble Technology"
536537

537538
= Parse EIR_Manufacturer_Specific_Data with magic
538539

@@ -561,13 +562,13 @@ EIR_Manufacturer_Specific_Data.register_magic_payload(ScapyManufacturerPacket2)
561562
p = EIR_Hdr(b'\x0b\xff\xff\xffSCAPY!\xab\x12')
562563

563564
p.show()
564-
assert p[EIR_Manufacturer_Specific_Data].company_id == 0xffff
565+
assert p[EIR_Manufacturer_Specific_Data].company_identifier == 0xffff
565566
assert p[ScapyManufacturerPacket].x == 0xab12
566567

567568
p = EIR_Hdr(b'\x0b\xff\xff\xff!SCAPY\x12\x34')
568569

569570
p.show()
570-
assert p[EIR_Manufacturer_Specific_Data].company_id == 0xffff
571+
assert p[EIR_Manufacturer_Specific_Data].company_identifier == 0xffff
571572
assert p[ScapyManufacturerPacket2].y == 0x1234
572573

573574
# Test encode
@@ -702,7 +703,7 @@ b.show()
702703
assert b[HCI_Event_Hdr].len > 0
703704
assert b[EIR_CompleteLocalName].local_name == b"scapy"
704705
assert b[HCI_LE_Meta_Advertising_Report].addr == "a1:b2:c3:d4:e5:f6"
705-
assert b[EIR_Manufacturer_Specific_Data].company_id == 0xffff
706+
assert b[EIR_Manufacturer_Specific_Data].company_identifier == 0xffff
706707
assert raw(b[EIR_Manufacturer_Specific_Data].payload) == b"ypacs"
707708
assert b[EIR_TX_Power_Level].level == 10
708709
assert b[EIR_CompleteList128BitServiceUUIDs].svc_uuids[0] == UUID("01234567-89ab-cdef-1023-456789abcdfe")
@@ -739,7 +740,7 @@ a = HCI_Hdr()/HCI_Event_Hdr()/HCI_Event_LE_Meta()/HCI_LE_Meta_Extended_Advertisi
739740
rssi = -85,
740741
data=[
741742
EIR_Hdr()/EIR_Manufacturer_Specific_Data(
742-
company_id = 0xffff,
743+
company_identifier = 0xffff,
743744
) / Raw(b"scapy\x00\x01\x02\x03\x04")
744745
]
745746
),
@@ -758,7 +759,7 @@ assert b[HCI_LE_Meta_Extended_Advertising_Report][0].data_length > 0
758759
assert b[EIR_CompleteList16BitServiceUUIDs].svc_uuids == [0xffff]
759760
assert b[EIR_ServiceData16BitUUID].svc_uuid == 0xffff
760761
assert raw(b[EIR_ServiceData16BitUUID].payload) == b"scapy\x00\x00\x00"
761-
assert b[EIR_Manufacturer_Specific_Data].company_id == 0xffff
762+
assert b[EIR_Manufacturer_Specific_Data].company_identifier == 0xffff
762763
assert raw(b[EIR_Manufacturer_Specific_Data].payload) == b"scapy\x00\x01\x02\x03\x04"
763764

764765

0 commit comments

Comments
 (0)