-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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) |
gpotter2
left a comment
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.srnow worksLEMacFieldBTUUID128Fieldfor 128-bit UUID fieldsEIR_Hdrenum types, and sort themEIR_CompleteList128BitServiceUUIDs(andIncompleteList)EIR_ServiceData16BitUUID(with protocol stacking support)EIR_Manufacturer_Specific_DataHCI_Event_Hdr.lengthto.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*SocketclassesEIR_ServiceData16BitUUIDThis PR looks huge, but nearly half of the lines in this PR come from the documentation!