tree ef810eff2c19ecc343159e5734043e4a89b7a070
parent 32c961f7430581042b9a37e95afcf3ea8d874062
author Thomas Lea <35579828+tleacmcsa@users.noreply.github.com> 1724783230 -0500
committer GitHub <noreply@github.com> 1724783230 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmzhp+CRC1aQ7uu5UhlAAAp74QAEppY3Pu3XYdxG4DMOvXx6TF
 fkt3QqiavQrzj9reJ2tKe4RpoyB/EXMWoBajxMHDhyIUJbU57UUeXlrqTYWgrz4x
 hYMQIs9ADGAXK14RK2u4IWvYHSdTGvJrBTVM4QQmJcTOxDpz8zVTlU9jGL7fz0mz
 WYCqT04pPfuJDQqgsyDblN0/fDgYHucPSHZYIrCeC8qeXoaccyoLGzENn+bpmBJE
 MCoSFMYD0my7by9f95bJMMBfr7yvkcLxavgV9q1bVtHOBvOR9jwF9HSLuvf1Rmlp
 YNmYNaA+rScENuAAI2ue+mC0wpa1X8nMLk5ETaSf/X6ebUguS20ySTlUsdzfgsnw
 KLbv6xNLCRxgskqHo3nOnzWBv9jaJmh2TBssIM8lyTE7jmT3BflkjlvT43YaK2JB
 jvrcXpneg+UrOXnBaxXVeu+/SIQy2s5mEl1ikwrjgMVi2fbkmklg0loatHm23Gcm
 gXtsAZF68u0fVTTkjxceRyitoSzYs2Vbky4eG2UGXL3yztuQH2m5FBTWiMjpfOv9
 ecoG6sUvIocYOmJ4MfuYPaAVdFxn5dvB3cRY42cRuE2KVUImMOu3pNNS8d2c185g
 vZgnUrG/Sh69EPwx/a7IlDkmKdOl2CCxpxYZVQw92mVx8qfXhIXlvYOF5Nre7kNO
 Z8KNGLlaXhOMj1gUo2cl
 =taAN
 -----END PGP SIGNATURE-----
 

Managed ACL: Add AccessRestrictionList support (#34932)

* Add AccessRestrictionList support

* Update src/access/AccessConfig.h

Co-authored-by: C Freeman <cecille@google.com>

* Reworked data manipulators and other cleanup

* Fixed encode/decode so reading CommissioningARL and Arl attributes work

* Reworked ARL storage

Previously ARL related data was persisted in KVS.  This has been
removed and now the responsibility for managing/maintaining the
related data (CommissioningARL and ARL attributes) is up to the
app to set on AccessRestrictionProvider class.

* Review fixes

cleanup ArlEncoder interface.
return error to client if arl review request fails
return token to client in FabricRestrictionReviewUpdate

* Fixed GetEntries vector pointer arg

* Updated core restriction logic/integration

* Restyled by clang-format

* fixed include check for renamed AccessRestrictionProvider.h file

* M-ACL updates

- refactored AccessControl::Check into CheckACL and CheckARL
- added placeholders for the upcoming CHIP_ERROR_ACCESS_RESTRICTED_BY_ARL
- extracted ARL exception processing to standalone class for better
  testing

* Add plumbing for subject descriptor IsCommissioning field

- Make session manager update that state on a message-per-message basis
- Add tests

Missing test: MRP test against a not-yet-committed fabric over CASE showing
that IsCommissioning is true.

* Fix crash

* Use new IsCommissioning in ARL check

* Updates for review comments

* restyled

* Review updates

- fixed return type for some command failures
- enhanced unit tests

* restyled

* Updated ARL tests per review comments

* work around nuttx and jsoncpp contention

* Review comments and nuttx build failure fix attempt

* review updates

---------

Co-authored-by: C Freeman <cecille@google.com>
Co-authored-by: Restyled.io <commits@restyled.io>
Co-authored-by: tennessee.carmelveilleux@gmail.com <tennessee.carmelveilleux@gmail.com>