-
Notifications
You must be signed in to change notification settings - Fork 71
Open
Description
Hello,
I am developing a library that implements the DRISL spec, formerly known as dag-cbor. To reach strict compliance with that spec, I had to fork this repo and add a number of features. I wanted to open this issue to get feedback on whether any of the features are upstreamable, rather than bombard you with multiple issues.
My fork is available here, however I know the patches are not ready for submission yet. If there is interest in any of these features I will improve their quality and submit a PR.
Features
- Prevent decoding floats unless they are encoded as float64
- Only encode 64-bit floats (converting other float types)
- Prevent encoding of big nums while still accepting big.Int if it fits in a CBOR integer
- Restrict map encoding to string keys
- Don't decode null map keys or tagged map keys
- Disable
keyasint
feature - Prevent encoding/decoding arbitrary simple values
- Limit tag decoding to only those that have been provided in a TagSet
- Only decode integers encoded with preferred encoding
- Enforce map sort on decode
- Don't encode
time.Time
at all - Limit integer range to int64 min/max (encode and decode)
- Ban floats entirely
All features are behind an encode or decode option.
Let me know what you think of any of these!
Metadata
Metadata
Assignees
Labels
No labels