Skip to content

ieee80211: use two-message Open System authentication - #1208

Draft
mgonzalezlopezudc wants to merge 2 commits into
inet-framework:masterfrom
mgonzalezlopezudc:fix/ieee80211-audit-open-system-auth
Draft

mgonzalezlopezudc wants to merge 2 commits into
inet-framework:masterfrom
mgonzalezlopezudc:fix/ieee80211-audit-open-system-auth

Conversation

@mgonzalezlopezudc

Copy link
Copy Markdown
Contributor

Summary

The AP default performed four transactions while encoding Open System. Use algorithm 0 transactions 1/2, preserve raw algorithm values, and reject unsupported algorithms or unexpected transactions before state changes.

Scope

Management frame representation/serializer, AP/STA authentication and explicit four-step configurations; BSSID prerequisite first.

Standards references: IEEE 802.11-2024 §§9.4.1.1–9.4.1.2 and 12.3.3.2.

Dependencies and merge order

Depends on #1199 (management BSSID and Capability Information). Merge that PR first.

This branch currently carries the BSSID prerequisite, but not the capability changes. The prerequisite commit is already covered by the management PR. After it merges, rebase this branch onto updated master, drop the equivalent BSSID prerequisite, resolve overlapping management/MAC changes, and rerun this PR’s focused tests. This PR is not ready to merge before that reconciliation.

Validation

Pinned test base: 7287f347aaca36e557c708d6930a6f5a450b2833.

The isolated topic head passed an assertions-enabled debug build (-O0 -Wall -g0; debug symbols omitted for storage) and the focused checks below. The larger integration source tree also passed debug and release compilation; no separate release build is claimed for this topic.

Executed focused test commands, from the repository root after source setenv -q:

inet_run_unit_tests -m debug -f 'Ieee80211MgmtFrameSerializer_1\.test'
inet_run_module_tests -m debug -f 'Ieee80211(OpenSystemAuthentication|StaMgmtBssid)_1\.test|MIPv6_.*\.test'
inet_run_protocol_tests -m debug -f 'WifiAuthOpen\.test'

Results: 1 unit, 13 module, 1 protocol cases passed.

Limits and review status

numAuthSteps=4 now fails explicitly. Shared Key authentication is not implemented.

Draft pending final independent review and reconciliation with current upstream. Live PR overlap has not been reverified against the pinned test base.

STA management frames built before association omitted Address3. Carry the procedure-selected BSSID in a typed request tag and honor it at MAC header construction, preserving the AP fallback and keeping receiver address distinct from BSSID.

A real STA scan/authentication/association test checks management Address3 at the MAC boundary, including wildcard probes.

Change: src.ieee80211.management | behavior.change.fix | test | wifi-audit
The AP defaulted to four dummy steps while serializing algorithm zero, and STA completion depended on a field absent from the wire. Preserve the algorithm number in the body, accept only Open System request 1/response 2, and reject invalid inputs before changing peer state. Keep isLast only as unused source compatibility metadata.

numAuthSteps now defaults to 2 and rejects unsupported four-step configurations explicitly. Migrate repository handover configurations to 2. Wire round-trip, real association, invalid-input tests and all eleven affected MIPv6 module scenarios pass in debug mode.

Change: src.ieee80211.authentication | behavior.change.fix | test migration | wifi-audit
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.

1 participant