Actions
Optimization #2780
openConvert DNP3 from C to Rust
Effort:
medium
Difficulty:
Label:
Protocol
Description
Convert parser from C to Rust.
Related to https://redmine.openinfosecfoundation.org/issues/2778
Actions
Added by Danny Browning almost 7 years ago. Updated over 4 years ago.
Description
Convert parser from C to Rust.
Related to https://redmine.openinfosecfoundation.org/issues/2778
We are working on a rust parser for DNP3 so I wouldn't mind taking on this ticket.
The move/implementation would be similar to modbus (https://github.com/OISF/suricata/pull/5810) once that code review is finalized.
Implementation StepsOut of Scope
Should we move eve json logging for DNP3 to rust or is this out of scope?
Once the transaction objects are Rust, I think its only natural to have the logging in Rust as well, otherwise there will be a lot of getter's or unecessary restrictions keeping the structs C compatible. The C code uses the same input to generate the loggers as it does the parser.
Have you taked a look at https://github.com/rust-bakery/nom-derive? I thought something like that, or inspired by it might help with a migration of DNP3 to Rust.
Haven't heard of `nom-derive`. Thank you for the info.