Fix L2CAP signaling packet identifiers

According to the Bluetooth Core Spec, Volume 3, Part A, Section 4, 0x00 is an invalid identifier:

 4. Signaling packet formats
...
    Identifier (1 octet)

    ... Signaling identifier 0x00 is an invalid identifier and shall never be used in any command.
This commit is contained in:
Damien Merenne
2025-04-08 14:37:02 +00:00
committed by GitHub
parent 220b3b0236
commit 685f1dc43e

View File

@@ -1521,6 +1521,9 @@ class ChannelManager:
def next_identifier(self, connection: Connection) -> int:
identifier = (self.identifiers.setdefault(connection.handle, 0) + 1) % 256
# 0x00 is an invalid ID (BT Core Spec, Vol 3, Part A, Sect 4
if identifier == 0:
identifier = 1
self.identifiers[connection.handle] = identifier
return identifier