diff options
author | David Benjamin <davidben@mit.edu> | 2013-07-14 13:23:11 -0400 |
---|---|---|
committer | Karl Ramm <kcr@1ts.org> | 2013-08-08 00:24:58 -0400 |
commit | b9ec2cdc23b77fd86b69ba884c5513f3f71cf025 (patch) | |
tree | c032cb5663a00ead030dec9e48ddb790a328dd7b /configure.ac | |
parent | 4ebc7e98991e3aea45e950fa5485ddf3157d39bb (diff) |
Add fudge factor in subscription sharding
Header lengths are not constant-size because Zcode escapes bytes 0xFF and 0x00
into two bytes. If we end up filling up close to all the space we have and
Z_SendFragmentedNotice then computes a header length larger than ours by
enough, the message gets fragmented.
Getting it fragmented is especially unfortunate because only the first of a
fragmented notice ever has a SERVACK survive. (They all get SERVACKs, but
libzephyr kindly drops all but the first on the floor.)
This isn't a watertight fix; we may get really really unlucky and blow up 13
bytes in the authenticator and checksum. But that's not likely, and a proper
fix would involve either computing based on the maximum possible authenticator
size (wasteful and hard to bound tightly) or changing to protocol to use a less
inappropriate encoding.
Diffstat (limited to 'configure.ac')
0 files changed, 0 insertions, 0 deletions