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
Each octet of the encoded value has the most-significant bit set, except for the last octet. The remaining bits are the integer value in 7-bit groups, least-significant first.
(Note that this means the value we can't be higher than is 127, not 255 as mentioned in the linked source, because of how the encoding works — if it were 128 or larger, the top bit would be set, meaning we would only be supposed to use the bottom 7 from this octet, and check the next one for the rest.)
It's possible this is the cause of some of the errors that we're seeing in #1624 (it seems somewhat surprising to me that we wouldn't even have "in-order for the most part in practice", but I could be mistaken or even misunderstanding what's being described). Either way, we should fix it.
It's possible this can be done by just using serde_bare. Not sure. If not, the varint scheme isn't that complex.
The text was updated successfully, but these errors were encountered:
Currently, we don't handle messages above a certain size correctly in the rust https://github.com/ockam-network/ockam/blob/bbb2f85bbb561095497b701b50e8e005f301b518/implementations/rust/ockam/ockam_node/src/parser.rs#L17
This doesn't correctly implement the BARE variable length integer scheme described in https://www.ietf.org/archive/id/draft-devault-bare-01.txt:
(Note that this means the value we can't be higher than is 127, not 255 as mentioned in the linked source, because of how the encoding works — if it were 128 or larger, the top bit would be set, meaning we would only be supposed to use the bottom 7 from this octet, and check the next one for the rest.)
It's possible this is the cause of some of the errors that we're seeing in #1624 (it seems somewhat surprising to me that we wouldn't even have "in-order for the most part in practice", but I could be mistaken or even misunderstanding what's being described). Either way, we should fix it.
It's possible this can be done by just using serde_bare. Not sure. If not, the varint scheme isn't that complex.
The text was updated successfully, but these errors were encountered: