You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We will be working on a migration from OpenDNP3 to stepfunc/dnp3 C# bindings soon. One of the customisations we had to make within OpenDNP3 was support for reading and writing OctetStrings, including zero-length ones.
We understand that zero-length OctetStrings is probably a non-standard implementation, so perhaps this could live behind some kind of enableNonStandardFeatures flag?
As discussed previously, our team are happy to help with implementation and can assist with testing C# bindings if required.
The text was updated successfully, but these errors were encountered:
I think that writing them could always be allowed in the master. There's a security issue with reading them. The encoding for a zero-length string is nothing but a header, e.g. you can say "this packets contains group 110 variation 0 start: 0 stop: 65535" and it only takes ~5 bytes to encode 65K values.... repeat this to fill an ASDU and it's like a ZIP bomb if the master makes a callback for each value:
It was kinda vague in the spec before I pointed out how problematic this is, then the committee "clarified" that 0-length strings weren't allowed b/c variation had always been reserved for requests to mean "send whatever your default variation is".
All of that said, I just think we need a configuration option to enable parsing 0-length strings on the master, and we can always allow writing them.
We will be working on a migration from OpenDNP3 to stepfunc/dnp3 C# bindings soon. One of the customisations we had to make within OpenDNP3 was support for reading and writing OctetStrings, including zero-length ones.
We understand that zero-length OctetStrings is probably a non-standard implementation, so perhaps this could live behind some kind of
enableNonStandardFeatures
flag?As discussed previously, our team are happy to help with implementation and can assist with testing C# bindings if required.
The text was updated successfully, but these errors were encountered: