Rust Flatbuffers Verifier (#6269)
authorCasper <casperneo@uchicago.edu>
Mon, 7 Dec 2020 23:37:51 +0000 (18:37 -0500)
committerGitHub <noreply@github.com>
Mon, 7 Dec 2020 23:37:51 +0000 (18:37 -0500)
commit442949bc11c4e08a04516390dd78794cd4dec746
tree292275b264f5e50a31255a979e5a0c6cd7ee0ca0
parent9064072e8cd42be6710b293ad567acd44845f7fc
Rust Flatbuffers Verifier (#6269)

* Updated comments and fixed a fundemental type error.

* bump rust flatbuffers semver

* Initial commit with verifier, need to clean up

* Verifier tested. Needs clean up and refactoring.

* Display for InvalidFlatbuffer and better errors for strings

* SimpleToVerify, some refactoring

* Combined VerifierType TableAccessorFuncBody into FollowType

* scrub todos

* Update Rust get_root functions.

There are 6 variants, with verifier options, default verifier options
and no verification "fast".

* Rename root fns

* inline

* Update to use thiserror

* fix for bad compiler

* improve error formatting

* Replace multiply with saturating_multiply

* saturating adds too

* Add docs disclaiming experimental verification system

Co-authored-by: Casper Neo <cneo@google.com>
21 files changed:
rust/flatbuffers/Cargo.toml
rust/flatbuffers/src/builder.rs
rust/flatbuffers/src/follow.rs
rust/flatbuffers/src/get_root.rs [new file with mode: 0644]
rust/flatbuffers/src/lib.rs
rust/flatbuffers/src/table.rs
rust/flatbuffers/src/vector.rs
rust/flatbuffers/src/verifier.rs [new file with mode: 0644]
samples/monster_generated.rs
samples/sample_binary.rs
src/idl_gen_rust.cpp
tests/include_test/include_test1_generated.rs
tests/include_test/sub/include_test2_generated.rs
tests/monster_test_generated.rs
tests/namespace_test/namespace_test1_generated.rs
tests/namespace_test/namespace_test2_generated.rs
tests/optional_scalars_generated.rs
tests/rust_usage_test/bin/flatbuffers_alloc_check.rs
tests/rust_usage_test/bin/monster_example.rs
tests/rust_usage_test/tests/integration_test.rs
tests/rust_usage_test/tests/optional_scalars_test.rs