tree 719678c4dec8d738106d29785ad44c73ac687f5e
parent 570eb8392e830d95a5d87227edebfe4be2fb6edb
author Tennessee Carmel-Veilleux <tennessee.carmelveilleux@gmail.com> 1691674717 -0400
committer GitHub <noreply@github.com> 1691674717 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJk1OhdCRBK7hj4Ov3rIwAAQYkIACKFKfIu4IR5F74nf6cabSHh
 PnZvFrlT+Xt+ylpnHSLQMA5eK+limYmQaL8uGV/Hs/1dZbsxkmMHakfIfHhb5ieN
 CJVpAHx/KxYQNvekcbpJGI4IT1pQnHDlWGplCNnqdvRJlRbBTgCXyHRnTy32s7BE
 7CkqD+K6tD2BoIzMUiKE19W1A2q71RcNa9jkj/v1cPjCZbjhmM4sCSpUJxWWflt+
 +qIeliDeF2TsoctzbXDELhVM5LBaU4gTNHUX4Fs6pVn79QIhTwMi7TQt1q0e045j
 1q0eLIPcqOhMpQdCz390ZJNeMgeW6xCI6BFsKEkwll2/+ljSBwlB9vnkYD1HSqE=
 =dGJA
 -----END PGP SIGNATURE-----
 

Fix KeySetRemove to fail on key set index 0 (#28524)

* Fix KeySetRemove to fail on key set index 0

Problem:

- Removing KeySet index 0 is not allowed by spec, but SDK allowed it.
- Checking that we ran without accessing fabric is not done, so
  error is FAILURE instead of UNSUPPORTED_ACCESS.
- Fixes #28518

This PR:

- Adds the check and tests against removing fabric index zero
- Improves error reporting for several errors in the cluster
- Combines validation logic for accessing fabric that was missing

Testing:

- Added unit tests and integration tests for additions
  (except for the unsupported access that requires PASE to check)

* Regen tests with ZAP

* Restyled by clang-format

* Remove explicit check for undefined fabric index

* Fix build

* Rename ValidateAndGetProviderAndFabric to just GetProviderAndFabric

* Added back cleanup for VerifyOrDie argument checking

* Restyle

---------

Co-authored-by: tennessee.carmelveilleux@gmail.com <tennessee@google.com>
Co-authored-by: Restyled.io <commits@restyled.io>
Co-authored-by: Andrei Litvin <andreilitvin@google.com>
Co-authored-by: Andrei Litvin <andy314@gmail.com>