1 o Major bugfixes (protover, voting):
2 - Revise Rust implementation of protover to use a more memory-efficient
3 voting algorithm and corresponding data structures, thus avoiding a
4 potential (but small impact) DoS attack where specially crafted protocol
5 strings would expand to several potential megabytes in memory. In the
6 process, several portions of code were revised to be methods on new,
7 custom types, rather than functions taking interchangeable types, thus
8 increasing type safety of the module. Custom error types and handling
9 were added as well, in order to facilitate better error dismissal/handling
10 in outside crates and avoid mistakenly passing an internal error string to
11 C over the FFI boundary. Many tests were added, and some previous
12 differences between the C and Rust implementations have been
13 remedied. Fixes bug 24031; bugfix on 0.3.3.1-alpha.