chore: add random target address to advdata#1114
chore: add random target address to advdata#1114oguzcan oguz (oguzcanoguz) wants to merge 2 commits intomainfrom
Conversation
oguzcan oguz (oguzcanoguz)
commented
Feb 24, 2026
- Add AppendRandomTargetAddress to GapAdvertisementFormatter
- Refactor GapCentral::SetAddress (breaking)
|
Thanks for your first PR. We really appreciate it! |
Dependency ReviewThe following issues were found:
Snapshot WarningsConsider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice. License Issuesinfra/syntax/CMakeLists.txt
osal/threadx/CMakeLists.txt
external/crypto/micro-ecc/CMakeLists.txt
osal/freertos/CMakeLists.txt
external/crypto/mbedtls/CMakeLists.txt
external/segger_rtt/CMakeLists.txt
cmake/emil_test_helpers.cmake
lwip/lwip/CMakeLists.txt
external/args/CMakeLists.txt
external/crypto/tiny-aes128/CMakeLists.txt
external/protobuf/CMakeLists.txt
OpenSSF ScorecardScorecard details
Scanned Files
|
✅
|
| Descriptor | Linter | Files | Fixed | Errors | Warnings | Elapsed time |
|---|---|---|---|---|---|---|
| ✅ ACTION | actionlint | 12 | 0 | 0 | 0.28s | |
| ✅ CPP | clang-format | 1054 | 7 | 0 | 0 | 6.88s |
| ✅ DOCKERFILE | hadolint | 2 | 0 | 0 | 0.26s | |
| ✅ JSON | jsonlint | 7 | 0 | 0 | 0.13s | |
| ✅ JSON | prettier | 7 | 0 | 0 | 0 | 0.46s |
| markdownlint | 6 | 0 | 4 | 0 | 1.04s | |
| ✅ MARKDOWN | markdown-table-formatter | 6 | 0 | 0 | 0 | 0.25s |
| ✅ REPOSITORY | checkov | yes | no | no | 17.92s | |
| ✅ REPOSITORY | git_diff | yes | no | no | 0.04s | |
| ✅ REPOSITORY | grype | yes | no | no | 35.09s | |
| ✅ REPOSITORY | ls-lint | yes | no | no | 0.06s | |
| ✅ REPOSITORY | secretlint | yes | no | no | 7.43s | |
| ✅ REPOSITORY | syft | yes | no | no | 1.22s | |
| ✅ REPOSITORY | trivy | yes | no | no | 6.91s | |
| ✅ REPOSITORY | trivy-sbom | yes | no | no | 0.16s | |
| ✅ REPOSITORY | trufflehog | yes | no | no | 2.37s | |
| lychee | 139 | 1 | 0 | 21.24s | ||
| prettier | 22 | 1 | 1 | 0 | 0.64s | |
| ✅ YAML | v8r | 22 | 0 | 0 | 5.75s | |
| ✅ YAML | yamllint | 22 | 0 | 0 | 0.58s |
Detailed Issues
⚠️ SPELL / lychee - 1 error
[404] https://github.com/protocolbuffers/protobuf/releases/download/v$%7Bprotobuf_tag%7D/protoc-$%7Bprotobuf_version%7D-$%7Bos_postfix%7D.zip | Network error: Not Found
📝 Summary
---------------------
🔍 Total..........544
✅ Successful.....540
⏳ Timeouts.........0
🔀 Redirected.......0
👻 Excluded.........3
❓ Unknown..........0
🚫 Errors...........1
Errors in external/protoc/CMakeLists.txt
[404] https://github.com/protocolbuffers/protobuf/releases/download/v$%7Bprotobuf_tag%7D/protoc-$%7Bprotobuf_version%7D-$%7Bos_postfix%7D.zip | Network error: Not Found
⚠️ MARKDOWN / markdownlint - 4 errors
external/crypto/tiny-aes128/README.md:1 error MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "### Tiny AES128 in C"]
external/crypto/tiny-aes128/README.md:29 error MD046/code-block-style Code block style [Expected: fenced; Actual: indented]
external/crypto/tiny-aes128/README.md:39 error MD046/code-block-style Code block style [Expected: fenced; Actual: indented]
external/crypto/tiny-aes128/README.md:49 error MD046/code-block-style Code block style [Expected: fenced; Actual: indented]
⚠️ YAML / prettier - 1 error
[error] Explicitly specified pattern "documents/modules/ROOT/examples/clangformat.yaml" is a symbolic link.
.clusterfuzzlite/project.yaml 34ms (unchanged)
.github/dependabot.yml 14ms (unchanged)
.github/workflows/ci.yml 67ms (unchanged)
.github/workflows/dependency-scanner.yml 15ms (unchanged)
.github/workflows/documentation.yml 10ms (unchanged)
.github/workflows/fuzzing-batch.yml 10ms (unchanged)
.github/workflows/fuzzing-cron.yml 8ms (unchanged)
.github/workflows/fuzzing-pr.yml 6ms (unchanged)
.github/workflows/linting-formatting.yml 15ms (unchanged)
.github/workflows/release-please.yml 17ms (unchanged)
.github/workflows/security.yml 5ms (unchanged)
.github/workflows/social-interaction.yml 3ms (unchanged)
.github/workflows/static-analysis.yml 5ms (unchanged)
.github/workflows/validate-pr.yml 11ms (unchanged)
.ls-lint.yml 2ms
.mega-linter.yml 2ms (unchanged)
antora-playbook-branch.yml 2ms (unchanged)
antora-playbook-site.yml 3ms (unchanged)
documents/antora.yml 4ms (unchanged)
documents/supplemental-ui/ui.yml 1ms (unchanged)
mull.yml 1ms (unchanged)
See detailed reports in MegaLinter artifacts
Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)
- Documentation: Custom Flavors
- Command:
npx mega-linter-runner@9.3.0 --custom-flavor-setup --custom-flavor-linters ACTION_ACTIONLINT,CPP_CLANG_FORMAT,DOCKERFILE_HADOLINT,JSON_JSONLINT,JSON_PRETTIER,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_CHECKOV,REPOSITORY_GIT_DIFF,REPOSITORY_GRYPE,REPOSITORY_LS_LINT,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,SPELL_LYCHEE,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R
There was a problem hiding this comment.
Pull request overview
This PR adds support for random target addresses in BLE advertisement data and refactors the GapCentral::SetAddress API to use a struct parameter instead of separate parameters.
Changes:
- Added
AppendRandomTargetAddressmethod toGapAdvertisementFormatterwith corresponding test coverage - Refactored
GapCentral::SetAddressto accept a singleGapAddressstruct parameter instead of separatehal::MacAddressandGapDeviceAddressTypeparameters (breaking change) - Updated all implementations, mocks, and tests to use the new API signature
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| services/ble/Gap.hpp | Added randomTargetAddress enum value (0x18) and AppendRandomTargetAddress method declaration; updated SetAddress signature to use GapAddress struct |
| services/ble/Gap.cpp | Implemented AppendRandomTargetAddress following the same pattern as AppendPublicTargetAddress; updated GapCentralDecorator::SetAddress implementation |
| services/ble/test/TestGapAdvertisementFormatter.cpp | Added test for AppendRandomTargetAddress that validates the correct formatting of random target address data |
| services/ble/test/TestGapCentral.cpp | Updated test expectations to use the new GapAddress struct parameter |
| services/ble/test_doubles/GapCentralMock.hpp | Updated mock method signature to match the refactored API |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|



