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
v0.0.228
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
Gilles Boccon-Gibod
2420c47cf1
Merge pull request #911 from google/gbg/issue-910
...
release command semaphore after timeout
2026-04-16 18:11:57 +02: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
f2824ee6b8
Merge pull request #907 from zxzxwu/example-gatt-client-and-server
...
Advertise in run_gatt_client_and_server
v0.0.227
2026-04-13 16:31:19 +08:00
Josh Wu
7188ef08de
Advertise in run_gatt_client_and_server
2026-04-13 15:31:32 +08: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
Josh Wu
b6125bdfb1
Merge pull request #904 from zxzxwu/keys
...
Keys: Remove appdirs and improve typing
2026-04-09 15:30:39 +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
25a0056ecc
remove uncommented line
2026-04-03 23:08:16 +02:00
Markus Jellitsch
85f6b10983
run formatter
2026-04-03 23:06:24 +02:00
Markus Jellitsch
e85f041e9d
add test for smp debug mode
2026-04-03 23:04:48 +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
Gilles Boccon-Gibod
4e76d3057b
Merge pull request #903 from sameer/micropip-install-crypto-issue
...
Fix Hive demo install failure
2026-03-28 15:35:32 -04:00
Sameer Puri
eda7360222
Upgrade pyodide in web fixes import error
...
Prior to this, these web pages fail to load with
`ImportError: cannot import name 'TypeIs' from 'typing_extensions'
(/lib/python3.11/site-packages/typing_extensions.py)`
2026-03-26 18:39:07 +00:00
Sameer Puri
a4c15c00de
Downgrade cryptography, fixes micropip failure
...
Prior to this, these web pages fail to load with
`ValueError: Can't find a pure Python 3 wheel for 'cryptography>=44.0.3;
platform_system == "Emscripten"'.`
2026-03-26 18:38:12 +00:00
Josh Wu
cba4df4aef
Merge pull request #900 from zxzxwu/lmp-feat
...
Add read classic remote features support
2026-03-24 14:03:29 +08:00
Josh Wu
ceb8b448e9
Merge pull request #901 from zxzxwu/rust
...
Add --locked to allow installing cargo-all-features
2026-03-21 03:45:47 +08:00
Josh Wu
311b716d5c
Add --locked to allow installing cargo-all-features
2026-03-20 18:44:49 +08:00
Josh Wu
0ba9e5c317
Add read classic remote features support
2026-03-20 18:32:52 +08:00
Josh Wu
3517225b62
Merge pull request #898 from zxzxwu/phy
...
Make ConnectionPHY dataclass
2026-03-13 12:04:45 +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
a5cd3365ae
Merge pull request #895 from zxzxwu/uuid
...
Hash and cache 128 bytes of UUID
2026-03-04 00:29:43 +08:00
Josh Wu
2915cb8bb6
Add test for UUID hash
2026-03-04 00:22:50 +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
eb64debb62
Merge pull request #893 from zxzxwu/le-emu
...
Emulation: Support LE Read features
v0.0.226
2026-03-01 17:01:11 +08:00
Josh Wu
c158f25b1e
Emulation: Support LE Read features
2026-03-01 02:24:55 +08:00
Josh Wu
1330e83517
Merge pull request #892 from zxzxwu/hfp
...
HFP: Fix response handling
2026-02-26 13:18:03 +08:00
Josh Wu
d9c9bea6cb
HFP: Fix response handling
2026-02-25 00:39:45 +08:00
Gilles Boccon-Gibod
3b937631b3
Merge pull request #891 from a-detiste/main
2026-02-18 21:13:09 -08:00
Alexandre Detiste
f8aa309111
fix pyproject.toml format
2026-02-18 16:39:09 +01:00
Alexandre Detiste
673281ed71
use tomllib from standard library on Python3.11+
2026-02-18 11:11:49 +01:00
Josh Wu
3ac7af4683
Merge pull request #886 from zxzxwu/controller-status
...
Controller: Use new return parameter types and add _send_hci_command_status
2026-02-11 13:27:32 +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
6c2d6dddb5
Merge pull request #885 from zxzxwu/match-case
...
Replace long if-else with match-case
2026-02-11 13:12:38 +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