Skip to content

RDKB-64957: Observed WPA2-Personal security mode configuration failure - #1308

Open
SakeVictorDaniel wants to merge 1 commit into
rdkcentral:developfrom
SakeVictorDaniel:RDKB-64957_Edge_Cases_Dev
Open

RDKB-64957: Observed WPA2-Personal security mode configuration failure#1308
SakeVictorDaniel wants to merge 1 commit into
rdkcentral:developfrom
SakeVictorDaniel:RDKB-64957_Edge_Cases_Dev

Conversation

@SakeVictorDaniel

Copy link
Copy Markdown
Contributor

Reason for change:
On CONFIG_IEEE80211BE platforms, default private VAP security is WPA3-Personal-Transition with AES+GCMP. When mode is switched to WPA2-Personal, encryption may remain AES+GCMP from previous state. WPA2-Personal supports AES and AES+TKIP, so WPA2-Personal plus AES+GCMP becomes invalid and can fail with invalid encryption for mode.

What is changed:

  1. Added WPA2 encryption policy normalization to downgrade WPA2-Personal plus AES+GCMP to AES.
  2. Preserved valid WPA2 encryptions (AES and AES+TKIP) as is.
  3. Added WPA3-Transition encryption policy normalization so transition mode restores platform-expected encryption.
  4. Applied normalization across all control paths: --> TR-181 handling --> WebConfig decode path --> WPA3 & RSN Override RFC Disable path

Risk:
Low

Priority:
P1

Reason for change:
On CONFIG_IEEE80211BE platforms, default private VAP security is WPA3-Personal-Transition with AES+GCMP.
When mode is switched to WPA2-Personal, encryption may remain AES+GCMP from previous state.
WPA2-Personal supports AES and AES+TKIP, so WPA2-Personal plus AES+GCMP becomes invalid
and can fail with invalid encryption for mode.

What is changed:

1. Added WPA2 encryption policy normalization to downgrade WPA2-Personal plus AES+GCMP to AES.
2. Preserved valid WPA2 encryptions (AES and AES+TKIP) as is.
3. Added WPA3-Transition encryption policy normalization so transition mode restores platform-expected encryption.
4. Applied normalization across all control paths:
   --> TR-181 handling
   --> WebConfig decode path
   --> WPA3 & RSN Override RFC Disable path

Risk:
Low

Priority:
P1

Signed-off-by: Sake Victor Daniel <VictorDaniel_Sake@comcast.com>
@SakeVictorDaniel
SakeVictorDaniel requested a review from a team as a code owner July 30, 2026 05:18
Copilot AI review requested due to automatic review settings July 30, 2026 05:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR addresses invalid mode/encryption carry-over when switching security modes (notably on CONFIG_IEEE80211BE platforms), by normalizing encryption selections for WPA2-Personal and WPA3-Transition across the main configuration/control paths.

Changes:

  • Introduces WPA2-Personal encryption normalization (downgrade AES+GCMP to AES; keep AES / AES+TKIP; coerce other values to AES).
  • Introduces WPA3-Transition encryption normalization to restore platform-default encryption (AES+GCMP on 11be, AES otherwise).
  • Applies the normalization consistently in TR-181 handling, WebConfig decode, and RFC enable/disable handlers; renames the prior WPA2-only helper to policy-oriented helpers.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
source/webconfig/wifi_decoder.c Normalizes mode/encryption pairs before validating compatibility during WebConfig decode.
source/utils/wifi_util.h Replaces the old WPA2 GCMP fallback prototype with two policy helper APIs (WPA2-Personal, WPA3-Transition).
source/utils/wifi_util.c Implements the WPA2-Personal and WPA3-Transition encryption policy normalization helpers.
source/dml/tr_181/ml/cosa_wifi_dml.c Applies the new normalization helpers when TR-181 sets WPA2-Personal / WPA3-Transition.
source/core/wifi_ctrl_queue_handlers.c Applies normalization when RFCs toggle WPA3 transition / RSN override paths to avoid invalid encryption leftovers.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +9301 to +9302
/* Preserve AES/AES+TKIP and normalize invalid carry-over values. */
apply_wpa2_personal_encr_policy(l_security_cfg);
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