-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Bluetooth LE: multiple improvements #1855
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1855 +/- ##
==========================================
+ Coverage 85.76% 85.79% +0.02%
==========================================
Files 185 186 +1
Lines 42473 42638 +165
==========================================
+ Hits 36429 36583 +154
- Misses 6044 6055 +11
|
17e8c1e
to
a3fee2b
Compare
SIde note: if you’re wondering why tests are failing (even though it’s a draft), modules now require to have special tags defined (it has existed for a long time, but wasn’t enforced since very recently so there’s no other doc that Edit: doc will be added in #1865 Those tags allow Scapy to display the file correctly when using the |
43f7af2
to
e33057a
Compare
Hi ! PR’s looking great. Note we apply a strict PEP8 linter in order to keep code consistency across the codebase. Your PR has a few errors, available at https://travis-ci.org/secdev/scapy/jobs/497727702#L880 (one of them is that we disallow star ( Edit: List of errors
|
* **Fix:** `BluetoothHCISocket.sr` now works * **Fix:** Python 3 issue with `LEMacField` * **New:** Bluetooth documentation page, explaining Bluetooth physical layer differences and some basic recipes for connecting to the HCI, BLE discovery and advertising. * **New:** cross-references for Bluetooth SIG assigned numbers * **New:** `BTUUID128Field` for 128-bit UUID fields * **New:** Adds some more `EIR_Hdr` enum types, and sort them * **New:** `EIR_CompleteList128BitServiceUUIDs` (and `IncompleteList`) * **New:** `EIR_ServiceData16BitUUID` (with protocol stacking support) * **Fix:** Protocol stacking for `EIR_Manufacturer_Specific_Data` * **Fix:** Renames `HCI_Event_Hdr.length` to `.len` (for consistency), and fixes calculation of it * **Fix:** Can now dissect packets composed of multiple `HCI_LE_Meta_Advertising_Report` (`.number > 1`), by adding `HCI_LE_Meta_Advertising_Reports`, which contains a list of `HCI_LE_Meta_Advertising_Report`. * **Fix:** Set a default MTU on `Bluetooth*Socket` classes * **New:** HCI BLE whitelist commands * **New:** [Eddystone beacons](https://github.com/google/eddystone) which uses the new stackable functionality of `EIR_ServiceData16BitUUID` * Adds tests for new functionality, and regression tests for fixes where plausible
7d07efd
to
8e093ac
Compare
Thanks, pep8 issues should be addressed now. I have done another rebase/squash with those extra commits -- it looks like PyPI |
Yeah, I’m investigating. One of our optional dependencies ( I’ll be following up the issue with them hardbyte/python-can#520 |
They fixed it. Just restarted all failing tests (on all failing PRs, might take some time) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All good to me ! Great PR ! Thanks a lot
I'll merge it later today
A number of fixes and enhancements, primarily for Bluetooth Low Energy:
BluetoothHCISocket.sr
now worksLEMacField
BTUUID128Field
for 128-bit UUID fieldsEIR_Hdr
enum types, and sort themEIR_CompleteList128BitServiceUUIDs
(andIncompleteList
)EIR_ServiceData16BitUUID
(with protocol stacking support)EIR_Manufacturer_Specific_Data
HCI_Event_Hdr.length
to.len
(for consistency), and fixes calculation of itHCI_LE_Meta_Advertising_Report
(.number > 1
), by addingHCI_LE_Meta_Advertising_Reports
, which contains a list ofHCI_LE_Meta_Advertising_Report
.Bluetooth*Socket
classesEIR_ServiceData16BitUUID
This PR looks huge, but nearly half of the lines in this PR come from the documentation!