David Lechner
baa5257780
improve type hints for notify/indicate subscriber(s) methods
...
Pyright expects generic type parameters to be specified for the
Attribute class, otherwise it treats the type as Unknown which can
trigger reportUnknownMemberType errors.
This can be solved by using a generic type parameter for these methods
which also has the benefit of making sure that the value parameter has
the correct type for the attribute.
In some cases, a new local `value_as_bytes` variable is needed to avoid
type errors and makes the code less confusing by not overwriting the
original `value` variable.
2026-04-26 09:43:40 -05:00
Josh Wu
27d02ef18d
Merge pull request #913 from zxzxwu/sdp
...
SDP: Fix wrong parameter size
2026-04-20 16:32:37 +08:00
Josh Wu
c0725e2a4a
SDP: Fix wrong parameter size
2026-04-20 16:23:19 +08:00
Josh Wu
bf0784dde4
Merge pull request #912 from ibondarenko1/fix/empty-pdu-crash
...
fix: add input validation to prevent remote crash from empty/malforme…
2026-04-20 14:36:48 +08:00
Ievgen Bondarenko
444f43f6a3
fix: address review feedback - use InvalidPacketError and abort on buffer overflow
...
- att.py: raise core.InvalidPacketError instead of generic ValueError
- smp.py: raise core.InvalidPacketError instead of generic ValueError
- hfp.py: add MAX_BUFFER_SIZE class constant (64KB)
- hfp.py: drop incoming data when it would overflow buffer instead of
truncating, preserving existing partial-packet state
Per review comments on PR #912 by @zxzxwu.
2026-04-16 11:24:09 -07:00
Ievgen Bondarenko
0a78e7506b
fix: add input validation to prevent remote crash from empty/malformed PDUs
...
Add length checks in from_bytes() for ATT and SMP protocol parsers
to prevent IndexError crashes from empty PDUs sent by remote Bluetooth
devices. Also add buffer size limit and UTF-8 error handling in HFP
protocol to prevent memory exhaustion and decode crashes.
- bumble/att.py: validate PDU is non-empty before accessing pdu[0]
- bumble/smp.py: validate PDU is non-empty before accessing pdu[0]
- bumble/hfp.py: limit buffer to 64KB, handle invalid UTF-8 gracefully
These issues can be triggered by a remote Bluetooth device sending
malformed packets, causing denial of service on the host.
2026-04-16 01:43:41 -07:00
Gilles Boccon-Gibod
f7cc6f6657
release command semaphore after timeout
2026-04-15 16:54:54 +02:00
Josh Wu
3ded9014d3
Merge pull request #905 from markusjellitsch/feature/debug-keys
...
Feature - Add SMP Debug Mode (Core Vol.3, Part H)
2026-04-09 15:36:42 +08:00
Markus Jellitsch
dc17f4f1ca
remove asserts
2026-04-08 20:58:47 +02:00
Markus Jellitsch
3f65380c20
remove comment
2026-04-03 23:19:43 +02:00
Markus Jellitsch
85f6b10983
run formatter
2026-04-03 23:06:24 +02:00
Markus Jellitsch
ee09e6f10d
add smp_debug_mode config flag to enable debug keys during device init
2026-04-03 23:03:51 +02:00
Markus Jellitsch
c3daf4a7e1
implement debug mode for smp manager using defined private / public key pair
2026-04-03 23:02:15 +02:00
Josh Wu
3af623be7e
Keys: Remove appdirs and improve typing
2026-03-31 16:25:15 +08:00
Josh Wu
0ba9e5c317
Add read classic remote features support
2026-03-20 18:32:52 +08:00
Josh Wu
ad4bb1578b
Make ConnectionPHY dataclass
2026-03-11 21:41:48 +08:00
Josh Wu
4af65b381b
Merge pull request #820 from zxzxwu/sdp
...
SDP: Migrate to dataclasses
2026-03-04 13:45:39 +08:00
Josh Wu
28e485b7b3
Hash and cache 128 bytes of UUID
2026-03-03 17:54:27 +08:00
Josh Wu
1198f2c3f5
SDP: Make PDU dataclasses
2026-03-03 02:07:08 +08:00
Josh Wu
80aaf6a2b9
SDP: Make DataElement and ServiceAttribute dataclasses
2026-03-03 01:28:40 +08:00
Josh Wu
c158f25b1e
Emulation: Support LE Read features
2026-03-01 02:24:55 +08:00
Josh Wu
d9c9bea6cb
HFP: Fix response handling
2026-02-25 00:39:45 +08:00
Josh Wu
5ebfaae74e
Controller: Use new return parameter types and add _send_hci_command_status()
2026-02-11 13:21:47 +08:00
Josh Wu
e6175f85fe
Merge pull request #887 from zxzxwu/gap
...
Remove bumble.gap
2026-02-11 13:15:39 +08:00
Josh Wu
f9ba527508
Merge pull request #821 from zxzxwu/smp
...
Migrate most enums
2026-02-11 13:15:22 +08:00
Josh Wu
a407c4cabf
Merge pull request #883 from zxzxwu/avrcp
...
AVRCP: More delegation and bugfix
2026-02-11 13:13:16 +08:00
Josh Wu
797cd216d4
SMP: Migrate all enums
2026-02-10 20:08:01 +08:00
Josh Wu
e2e8c90e47
Remove bumble.gap
2026-02-10 17:40:22 +08:00
Josh Wu
3d5648cdc3
Replace long if-else with match-case
2026-02-10 17:35:39 +08:00
timrid
81d9adb983
delete only the required connection
2026-02-05 20:50:58 +01:00
timrid
79e5974946
Multiple le connections are now working correctly
2026-02-05 13:15:57 +01:00
Josh Wu
657451474e
AVRCP: Address type errors
2026-02-05 16:01:21 +08:00
Josh Wu
9f730dce6f
AVRCP: Delegate Track Changed
2026-02-05 15:50:06 +08:00
Josh Wu
1a6be95a7e
AVRCP: Delegate UID and Addressed Player
2026-02-05 15:44:11 +08:00
Josh Wu
aea5320d71
AVRCP: Add Play Item delegation
2026-02-05 15:34:03 +08:00
Josh Wu
91cb1b1df3
AVRCP: Add available player changed event
2026-02-05 15:25:17 +08:00
Josh Wu
81bdc86e52
AVRCP: Delegate Player App Settings
2026-02-05 15:22:11 +08:00
Josh Wu
f23cad34e3
AVRCP: Use match-case
2026-02-04 22:23:53 +08:00
Josh Wu
30fde2c00b
AVRCP: Fix wrong packet field specs
2026-02-04 18:05:25 +08:00
Josh Wu
116d9b26bb
Fix wrong LE event codes
2026-02-04 15:03:08 +08:00
Gilles Boccon-Gibod
3894b14467
better handling of complete/status events
2026-02-02 23:28:40 -08:00
Gilles Boccon-Gibod
e62f947430
add workaround for some buggy controllers
2026-02-02 13:19:55 -08:00
Gilles Boccon-Gibod
dcb8a4b607
Merge pull request #877 from google/gbg/hci-fixes
...
fix a few HCI types and make the bridge more robust
2026-02-02 11:19:28 -08:00
Gilles Boccon-Gibod
81985c47a9
remove superfluous statement
2026-02-02 11:12:28 -08:00
Gilles Boccon-Gibod
7118328b07
Merge pull request #879 from google/gbg/resolve-when-bonded
...
resolve addresses when connecting to bonded peers
2026-01-31 11:09:55 -08:00
Gilles Boccon-Gibod
5dc01d792a
address PR comments
2026-01-31 10:55:58 -08:00
Gilles Boccon-Gibod
255f357975
resolve when bonded
2026-01-30 21:53:01 -08:00
Gilles Boccon-Gibod
2a59e19283
fix comment
2026-01-29 19:09:46 -08:00
Josh Wu
34f5b81c7d
AVRCP: Delegate Company ID capabilities
2026-01-29 22:13:14 +08:00
Josh Wu
d34d6a5c98
AVRCP: Delegate Playback Status
2026-01-29 21:33:57 +08:00