This crate implements the Open Network Computing Remote Procedure Call
system
(originally known as the Sun RPC system) as described in [RFC 1831] and [RFC
5531].
I had no use for the following, however PRs to extend this crate are happily accepted :)
The auth flavors not included in this crate can still be used as the flavor discriminant and associated opaque data is available in the application layer - this crate just lacks pre-defined types to describe them.
Currently a buffer has to be passed to serialise the complete message into a continuous memory region - it would be nicer to support vectorised I/O to provide zero-copy serialisation too.
Included in the fuzz/
directory is a deserialisation fuzzer that attempts to
decode arbitrary inputs, and if successful serialises the resulting message and
compares the result with the input.
Install [cargo fuzz
] and invoke the fuzzer with cargo fuzz run
parse_serialise -- -jobs=30
for parallised workers.