namib-project / nftables-rs

Safe abstraction for nftables JSON API (libnftables-json).
https://crates.io/crates/nftables
Apache License 2.0
32 stars 15 forks source link

fix payload raw expression #16

Closed Luap99 closed 8 months ago

Luap99 commented 8 months ago

The current code cannot handle the ParloadRaw type, serde is unable to deserialize the json with a raw payload fields.

This is because serde cannot handle two fields with the same name and I haven't found a way to make this work like that. Instead we have to use a untagged enum that share both possible payload values.

Therefore this is an API break: NamedExpression now only contains one Payload field which contains the Payload enum, the old Payload type is renamed to PayloadField.

Lastly, export the PayloadRaw fields so they can be used externally.