Skip to content

Conversation

robertkleffner
Copy link
Contributor

This is a breaking change to the RadioTap struct layer, but it need not be (can keep the first RadioTap namespace at the top level at the cost of some extra verbosity in the code).

This PR adds enables the package consumer to decode additional RadioTap value namespaces included in some RadioTap packets. Additionally, vendor value namespaces are now supported, though no effort is currently made to decode the vendor-specific values, the vendor namespace payload is simply included as-is for later decoding by the consumer if desired. A new test case is included to cover the additional namespace use case.

Took the opportunity to make the linter a little happier in the RadioTap file.

@mosajjal mosajjal requested a review from Copilot April 13, 2025 01:35
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

Comments suppressed due to low confidence (2)

layers/radiotap_test.go:31

  • Consider adding an assertion to verify that the RadioTapValues slice is non-empty before directly accessing index 0 to avoid potential panics in edge cases.
if rt.RadioTapValues[0].ChannelFrequency != 2412 || rt.RadioTapValues[0].DBMAntennaSignal != -58 || rt.RadioTapValues[0].Antenna != 7 {

layers/dot11_test.go:49

  • [nitpick] The change of the Present field from an integer to a slice is significant; please ensure that this new structure is consistently handled across all relevant tests.
Present: []RadioTapPresent{0x86f},

@mosajjal mosajjal merged commit 9e6e05d into gopacket:master Apr 13, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants