Move the temporary fabricSecret bit to be a CASESession member. #7919
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.
Right now it's a static and our example apps have the CASESession as a
static in a different file (via CASEServer). At least on Linux the
static initializer for the CASEServer runs first, the CASESession
constructor runs, sets up the fabricSecret, then the
P256ECDHDerivedSecret constructor runs and sets its length to 0. And
then trying to use that fabricSecret later on fails.
Making the fabricSecret a member of CASESession ensures its
constructor runs before the logic in the CASESession constructor.
Problem
all-clusters-app is not able to actually send a SigmaR2 message, because IPK generation fails.
Change overview
Fix things so that IPK generation succeeds.
Testing
Manual for now, but #7896 will end up testing this in CI; this issue is one of the things causing tests there to fail.