aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSimon THOBY <git@nightmared.fr>2022-12-09 23:37:32 +0100
committerSimon THOBY <git@nightmared.fr>2022-12-09 23:37:32 +0100
commit603d540a45c968ad48071a73e1452f87abea377b (patch)
tree1ef2823e6f0c7805c61632f971b5fe1279827e3d /tests
parent5fbf51008eb7e2d55e074cd12c877b59f4a41f79 (diff)
re-impl the masquerade expression
Diffstat (limited to 'tests')
-rw-r--r--tests/expr.rs63
1 files changed, 32 insertions, 31 deletions
diff --git a/tests/expr.rs b/tests/expr.rs
index 4367116..da98677 100644
--- a/tests/expr.rs
+++ b/tests/expr.rs
@@ -1,8 +1,8 @@
use rustables::{
expr::{
Bitwise, Cmp, CmpOp, Conntrack, ConntrackKey, Counter, ExpressionList, HeaderField,
- HighLevelPayload, IcmpCode, Immediate, Log, Meta, MetaType, Nat, NatType, Register, Reject,
- RejectType, TCPHeaderField, TransportHeaderField, VerdictKind,
+ HighLevelPayload, IcmpCode, Immediate, Log, Masquerade, Meta, MetaType, Nat, NatType,
+ Register, Reject, RejectType, TCPHeaderField, TransportHeaderField, VerdictKind,
},
sys::{
NFTA_BITWISE_DREG, NFTA_BITWISE_LEN, NFTA_BITWISE_MASK, NFTA_BITWISE_SREG,
@@ -335,35 +335,36 @@ fn log_expr_is_valid() {
// .to_raw()
// );
//}
-//
-//use rustables::expr::Masquerade;
-//#[test]
-//fn masquerade_expr_is_valid() {
-// let masquerade = Masquerade;
-// let mut rule = get_test_rule();
-// let (nlmsghdr, _nfgenmsg, raw_expr) = get_test_nlmsg_from_expr(&mut rule, &masquerade);
-// assert_eq!(nlmsghdr.nlmsg_len, 76);
-//
-// assert_eq!(
-// raw_expr,
-// NetlinkExpr::List(vec![
-// NetlinkExpr::Final(NFTA_RULE_TABLE, TABLE_NAME.to_vec()),
-// NetlinkExpr::Final(NFTA_RULE_CHAIN, CHAIN_NAME.to_vec()),
-// NetlinkExpr::Nested(
-// NFTA_RULE_EXPRESSIONS,
-// vec![NetlinkExpr::Nested(
-// NFTA_LIST_ELEM,
-// vec![
-// NetlinkExpr::Final(NFTA_EXPR_NAME, b"masq\0".to_vec()),
-// NetlinkExpr::Nested(NFTA_EXPR_DATA, vec![]),
-// ]
-// )]
-// )
-// ])
-// .to_raw()
-// );
-//}
-//
+
+#[test]
+fn masquerade_expr_is_valid() {
+ let masquerade = Masquerade::default();
+ let mut rule = get_test_rule().with_expressions(vec![masquerade]);
+
+ let mut buf = Vec::new();
+ let (nlmsghdr, _nfgenmsg, raw_expr) = get_test_nlmsg(&mut buf, &mut rule);
+ assert_eq!(nlmsghdr.nlmsg_len, 72);
+
+ assert_eq!(
+ raw_expr,
+ NetlinkExpr::List(vec![
+ NetlinkExpr::Final(NFTA_RULE_TABLE, TABLE_NAME.as_bytes().to_vec()),
+ NetlinkExpr::Final(NFTA_RULE_CHAIN, CHAIN_NAME.as_bytes().to_vec()),
+ NetlinkExpr::Nested(
+ NFTA_RULE_EXPRESSIONS,
+ vec![NetlinkExpr::Nested(
+ NFTA_LIST_ELEM,
+ vec![
+ NetlinkExpr::Final(NFTA_EXPR_NAME, b"masq".to_vec()),
+ NetlinkExpr::Nested(NFTA_EXPR_DATA, vec![]),
+ ]
+ )]
+ )
+ ])
+ .to_raw()
+ );
+}
+
#[test]
fn meta_expr_is_valid() {
let meta = Meta::default()