Parse RADIUS request attributes during Redis cache extraction #8380
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Parse RADIUS attributes WLAN-AKM-Suite, WLAN-Group-Cipher, WLAN-Pairwise-Cipher, TLS-Cert-Expiration, TLS-Cert-Valid-Since, TLS-Client-Cert-Expiration, and TLS-Client-Cert-Valid-Since into human readable strings.
Addresses issue where WLAN AKM and Cipher suite information integer value is displayed as a float64.
Note: Parsing could be done elsewhere, however, the pfcron flush task is one of the last locations where the RADIUS information is still in JSON and not a formatted string. It's relatively easy to manipulate now. Having said that, from a resource utilization perspective it may make more sense to perform this task as a particular RADIUS log entry is requested from the Admin UI.
Also, there may be additional attributes that would be nice to have parsed. I can add more if desired. The EAP-Message is perhaps a reasonable addition.
Impacts
Usability of information presented in Admin UI RADIUS audit log
Issue
fixes #8358
Delete branch after merge
YES
Checklist
Enhancements
Added parsing of WLAN-AKM-Suite, WLAN-Group-Cipher, WLAN-Pairwise-Cipher, TLS-Cert-Expiration, TLS-Cert-Valid-Since, TLS-Client-Cert-Expiration, and TLS-Client-Cert-Valid-Since attributes.
WLAN AKM and Cipher Suite attributes are decoded and filled with the name of the AKM or suite used. Dates are presented in a human-readable format with 4-digit year.
Existing behavior with WLAN attributes is that the integers are erroneously unmarshaled as Float64 by Golang json.Unmarshal. Date's are presented as a string with 2-digit year and no field delimiters or spacing ("241025235210Z").
Example of change as viewed from Admin UI: