You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When we originally made keyring trace flag values in C[1], we used bit-shifts so that they could be combined efficiently in C data structures. When we made them in Javascript[2], we went ahead and used the same values.
As the result of further discussion, we decided that we did not have any explicit intention for these values to be serialized in any way, and as such defining them with common values was potentially misleading. This is why the specification[3] does not mention any value for these flags, rather simply stating that what each flag means. In Java[4], we followed through on this decision and did not define any values. The flag values in Python were originally written before we came to this decision.
In order to avoid potential confusion, we should change the enum values to something else. Just a counter or an instance of object is fine, though it might be nice to have something explicit.
…225)
* feat: remove specific value definition for keyring trace flags #215
* chore: autoformat
* feat: rename keyring trace flags to match names in specification
* docs: add docs explaining each keyring trace flag
* chore: fix linting
When we originally made keyring trace flag values in C[1], we used bit-shifts so that they could be combined efficiently in C data structures. When we made them in Javascript[2], we went ahead and used the same values.
As the result of further discussion, we decided that we did not have any explicit intention for these values to be serialized in any way, and as such defining them with common values was potentially misleading. This is why the specification[3] does not mention any value for these flags, rather simply stating that what each flag means. In Java[4], we followed through on this decision and did not define any values. The flag values in Python were originally written before we came to this decision.
In order to avoid potential confusion, we should change the enum values to something else. Just a counter or an instance of
object
is fine, though it might be nice to have something explicit.[1] https://github.com/aws/aws-encryption-sdk-c/blob/969c71d7b48a9c48e00a3ec8bc420c245681bab9/include/aws/cryptosdk/keyring_trace.h#L56-L79
[2] https://github.com/aws/aws-encryption-sdk-javascript/blob/7dfa1ae1a4696d4829c47033058d1157d6e11b0d/modules/material-management/src/keyring_trace.ts#L51-L74
[3] https://github.com/awslabs/aws-encryption-sdk-specification/blob/master/framework/structures.md#flags
[4] https://github.com/aws/aws-encryption-sdk-java/blob/f4973ec91598d662079159a3187d142c0e82d5b3/src/main/java/com/amazonaws/encryptionsdk/keyrings/KeyringTraceFlag.java#L20-L49
The text was updated successfully, but these errors were encountered: